2019-08-10 11:03

这两个目录是固定的,想改的话,需要修改 jfinal undertow 源码:
https://gitee.com/jfinal/jfinal-undertow

不建议修改,使用 config、webapp 就挺好

2019-08-09 10:08

反馈错发到了分享频道,稍后将删除,请知悉

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 17:16

生成 model 默认是 utf-8,换行字符是 \n,换行字符在 windows 下应该也是 \n

老版本的生成器没有控制过 utf-8

2019-08-08 16:53

@JPEGIF forwardAction(....) 即可

如果要传递数据的话:
set(key, value);
forwardAction(...);

2019-08-08 14:43

一个表怎么能拥有重复主键呢? 数据库建表的时候也不会允许

2019-08-08 11:08

@liucanghai 还有一个办法是升级到 jfinal 最新版, 照着升级文档来做,分分钟的事:
https://www.jfinal.com/doc/14-1

2019-08-08 11:07

单步调试一下,理清重启前后有什么因素发生了变化来定位错误

也就是说理清正常与不正常的情况之间到底有什么不同

此外,建议升级到 jfinal weixin 2.4 版本,这版本改进过几个小地方,并且兼容你的 2.3 版本,值得升级

2019-08-07 18:03

@liucanghai 通过现有的 Db.queryLong(...) Db.find(...) 封装一个工具方法,参考现有的 paginate 方法

2019-08-07 17:52

先通过 findById(...) 将记录查出来,再对比用户提交的数据是否有变化,有变化再去 update() , 否则 return false

2019-08-07 17:49

最外层套一个 select * 试一试,大致这样:
select * ( 原来的 sql 在此 ) as temp


用的时候:
Db.paginate(pn, ps, "select *", "from (" + 原 sql 在此 + ") as temp");

2019-08-07 16:09

record.getComumns() 得到一个 Map , 然后对 Map 进行迭代即可