2019-08-10 21:29
@xiaofeivip_top 当你不调用 inv.invoke() 的时候,当前请求到此停掉,相当于你的拦截器拦截了这个请求
2019-08-09 09:07
@lzw0128 是在 activeRecordPlugin.start() 时加载进去的,你可以在 configPlugin 中去掉
me.add(activeRecordPlugin)
然后添加一行:
activeRecordPlugin.start();
相当于是自己手动 start() ,在文档中有过说明:
https://www.jfinal.com/doc/5-15
2019-08-08 21:08
添加 @Before(Tx.class) 以后,jfinal 会生成代理实现 AOP,那么你的那个出错的方法得到的 class 类型就不对了,将 getClazz() 方法内部按下面的办法改进一下,大致如下:
getClazz() {
Class c = getClass();
if (c.getSimpleName().indexOf("$$Enhancer") != -1) {
c = getSuperclass();
}
Type t = c.getGenericSuperclass();
// 后面的代码不变
大致的意思是,先获取一次 getClass() 看这个类是不是 jfinal 生成的代理类,如果类名中包含 "$$Enhancer" 则是生成的代理
如果确实是代理,则调用一次 getSuperclass() 获取其父类,至此的流程就对上了你以前的代码了
记得搞定后回来反馈一下
2019-08-08 17:51
@liucanghai 通过继承 Dialect 扩展很方便,扩展完后一行代码的事:
arp.setDialect(new ...);
2019-08-08 17:22
@tianci121404 jfinal 现有的工具类也可以方便支持,例如:
1: 弄一个指定配置文件类型的配置项,这个配置项可以放另一个配置中,也可以放在现有的某个配置文件中,甚至可以放在启动参数中
2:这里以将该配置项放在 dev-config.txt 为例,先在 dev-config.txt 中放入当前运行环境需要的配置文件名,例如:
configFile=product-config.txt
3: 在 configConstant(Constans me) 方法中添加如下代码;
String configFile = new Prop("dev-config.txt").get("configFile");
PropKit.use(configFile);
4:不同的运行环境只需要修改 dev-config.txt 中的 configFile 值即可
2019-08-08 16:53
@JPEGIF forwardAction(....) 即可
如果要传递数据的话:
set(key, value);
forwardAction(...);