2017-10-24 22:40

@麻言 也是一样的昂, 这种方式, 也是自定义的 ErrorRender 类, 直接用写好的那个判断下就好

// XX 是我自定义的一个工具类,进行一些判断操作
if(XX.isAjax(request) && XX.isJsonRender(request))

2017-10-21 23:31

同时也可以在 AbstractController 重写 renderError(int errorCode) 方法, 让其全部走到 renderError(int errorCode, String message) 实现全部统一处理

2017-10-21 23:24

1. 写一个 AbstractController 继承 Controller, 新增 renderError(int code, String message) 方法;
2. 创建 CustomErrorRender 继承 Render, 构造方法为 CustomErrorRender(int code, String message) 重写 render 方法, response 构造方法传入的 code, message (转换 json 格式)
3. AbstractController 新增的 renderError 如下
public void renderError(int errorCode, String message) {
render = new CustomErrorRender(errorCode, message);
}
4. 自定义 Controller 继承 AbstractController 若需要提示错误消息, super.renderError(1234, "错误");




------
new CustomErrorRender 是不健康的用法, 没必要每次调用都创建一个新的类, 具体如何使用可参考 jfinal 的 render 实现方式.

2017-10-10 11:33

2017-05-03 13:42

没太懂, 要把很简单的事情变得这么复杂. 下面是切到 3.0 使用 jfinal 自带 sql 管理时写的一个工具类, 初衷和你相同, 就是不想一个一个引入.



public class SqlTemplateKit {

/**
* 初始化 sql 模板到 ActiveRecord
*
* @param arp ActiveRecordPlugin
* @param basePath sql 文件根目录
* @param suffix 文件后缀
*/
public static void init(ActiveRecordPlugin arp, String basePath, String suffix) {
File baseFolder = new File(basePath);
File[] sqlFiles = baseFolder.listFiles(file -> {
return file.getName().endsWith(suffix);
});
if (CollectionKit.isEmpty(sqlFiles))
return;
for (File sqlFile : sqlFiles) {
arp.addSqlTemplate(sqlFile.getName());
}
}

}



直接结束了就, 我是 用的 java 8 的特性写的, 就算不用 lamda 也不会像楼主这代码看起来这么复杂 = =

至于使用

String sqlBasePath = PathKit.getRootClassPath();
arp.setBaseSqlTemplatePath(sqlBasePath);
SqlTemplateKit.init(arp, sqlBasePath, ".sql");
_MappingKit.mapping(arp);

直接这样就好


路径的话, 其实没必要再判断相对路径或者绝对路径了, jfinal 的 sql 管理, 本身就是需要路径的 arp.setBaseSqlTemplatePath , 那么 sql 文件的路径和这个一样就好, 工具再去判断相对绝对不是很累的.


起初没分享出来, 是觉得这个大家应该都会想到, 毕竟撸代码的不会偷懒就 ...

没有贬低之意, 仅是探讨.

要表达的意思是, 没必要把事情搞的这么复杂.

2017-03-20 14:04

@Dreamlu 观摩 观摩 XD

2017-03-20 14:04

@JFinal 在 WEB 开发中, 也仍同目前 JFinal 的路由风格, 这里实现像这样的方式主要是提供数据服务, 可以想成是第三方服务接口, 类似于 环信的实现方式

http://docs.easemob.com/im/100serverintegration/10intro

在 web 工程开发中也不会使用这种 RESTful 格式的, 这种格式很多问题你这都说了.

这就看有需要的人来用了吧.

2017-03-18 17:38