2019-06-17 11:37

@天晴

总之:
1: 需求不太强烈
2: 要满足这个需求,可以通过你的办法多一行代码解决,很方便,也很好理解,没有学习成本
3:如果要加上这个功能,如果用户要在下层的子 Routes 中去除上层的拦截器相当麻烦

设计就是无处不在的权衡取舍,没有完美,只有追求最佳平衡

2019-06-17 11:34

@天晴 多数情况下,不建议使用多层拦截器,而是 AdminRoutes、FrontRoutes、WeixinRoutes ...... 这样扁平化来使用

少数确实要使用多层 routes 的,可以用你的办法:
add(new ModuleRoutes().addInterceptor(new SetMainMenusInterceptor()));

加你建议的这个功能也不难,但这个需求貌似不强烈,很少有人提起

加了的话,最大的问题在于,如果有人不希望在下层 routes 中使用上层的拦截器, 还要想办法去掉,而去掉的话就十分麻烦了

2019-06-17 11:31

@HeLei 只要是报错了,整个过程就是失败的,所以这里的关键就转向于去解决异常,而不是改里的代码了

2019-06-17 11:29

sql 中的 `creatDate`` 为什么后面有两个 `` 字符?

光贴出异常没人猜到你代码是什么

2019-06-16 22:48

@taosheng 删除 arp.setBaseTemplatePath(...);

2019-06-16 22:47

大致方向是对的,但 UI 设计方面还有很大提升空间,例如要有一个登录界面,登录以后头部主要是下拉与输入框,再加一个查询按钮

主机址、用户名之类的不需要,默认就是连上数据库的

2019-06-16 08:41

@happyboy 我也是偶然在 Windows 机器上的 tomcat 下看到这个异常,而这两个东东已经很久没用过了

只要能重现问题,一切都好解决

2019-06-15 23:10

@happyboy @akak @badouyuren

这个问题很可能是 tomcat 有丢失 class path 的现象,兼容 tomcat 丢失 class path 的 jfinal 新版本已提交到 gitee.com

尽快试用以后给出反馈,试用办法如下:
1: git clone git@gitee.com:jfinal/jfinal.git
2: cd jfinal
3: vim pom.xml 将其中的 《skip》false《/skip》 改为 《skip》true《/skip》
4: mvn clean install
5: 修改自己项目中的 pom.xml ,将 jfinal 版本号改为 4.3-SNAPSHOT
6: 试用新版本

这个问题很重要,尽快给出反馈

2019-06-15 14:54

@果汁仔 这是因为 jfinal 高版本针对 ActiveRecordPlugin 内的 Engine 对象,默认已经配置了:
arpSystem.getEngine().setToClassPathSourceFactory();

所以,默认就是去 class path 与 jar 包内寻找 sql 模板文件
所以,模板文件要转移到 src/main/resources 目录下面去

2019-06-14 21:31

@山东小木 有一个很重要的功能:针对 getSqlPara(sqlKey, ...) 以及 template(sqlKey, ...) ,点击 sqlKey 可以直接打开 sql 模板并定位到对应的 sql。

这个功能有很多人问过我了,是不是已经实现了

2019-06-14 21:30

@天晴 你不写出来我还记了有这么个方法,在 new XxxRoutes() 的同时可以直接 addInterceptor(...),这种用法最好

2019-06-14 21:29

@blankkai enjoy 可以用 #define 定义一些函数,可以将本该用 java 写的代码转移到模板中来

2019-06-14 17:58

分表是个挺麻烦的事,这么少的代码就解决了这个问题的肯定是高手,点赞 + 收藏,赞

2019-06-14 17:57

routes 级别的拦截器只在本 Routes 中有效,不能往下传递到子 Routes 中

2019-06-14 12:13

java 代码:
renderJson(sb) 改成 renderJson(sb.toString())

js 代码:
error: function () 你确定不是与 success: function 平级? 当然这个错误并不影响你的问题