2018-02-08 12:07

jfinal ext 很久没有维护和升级了,建议使用后继项目 jfinal ext2:
https://gitee.com/brucezcq/JFinal-ext2

2018-02-08 12:06

jfinal 3.1 还没有添加这个功能,强烈建议升级到 jfinal 3.3 , 从 3.1 升到 3.3 十分平滑,只要关注下面三点:
1:IStringSource 更名为 ISource
2:指令扩展中的 java.io.Writer 改为com.jfinal.template.io.Writer
3:按照 13.2 小节 升级 Ret

这里还有专门讲升级的章节,只要是 3.0 以及更高版本,升到 3.3 几乎不费力:
http://www.jfinal.com/doc/13-1

2018-02-07 23:40

推荐使用Eclipse Mars这个版本,下载地址为:https://www.eclipse.org/mars/

新版本 eclipse 不知为何不支持切换 jetty 的 class loader,貌似也只有这一个 Oxygen 这个版本不支持

jfinal 这样在 eclipse 下启动用了五年多了,一直是好用的,Oxygen 才出现这个问题

2018-02-07 17:30

又是一个 NoClassDefFoundError,jar 包不对,或者多个版本的 jar 包互相影响,在百度里面搜索一下相关问题

2018-02-07 15:06

这种设计方式,可以让不同的数据源,使用相同的 sql key 值,互相之间不干扰,所以,你的 "api_" + key 的方式或许不再需要,使用同名的 key 值,只需要切换数据源就要以取到对应数据源的 sql:
Db.use(ds1).getSql(同名key);
Db.use(ds2).getSqlPara(同名key);

2018-02-07 15:03

@188085240 获取 sql 之前切换了数据源,表明你是多数据源情况

所以在 addSqlTemplate 也要相应的使用对应的数据源:
arp1.addSqlTemplate(...);
arp2.addSqlTemplate(...);
arp3.addSqlTemplate(...);

上面的 arp1 arp2 arp3 分别对应了各自的数据源: ds1 ds2 ds3,在使用的时候:
Db.use("ds1").getSql(key) 即可

2018-02-07 14:43

@188085240 异常已经很清楚,不是在 addSqlTemplate 的时候出异常,而是在使用 find(sql) 方法时出现 sql 为 null,这种问题通过单步调试极度容易解决

2018-02-07 14:42

@188085240 刚看错了,你在构造方法中初始化了 sqlBuilder,所以前面那个异常不会抛出来

代码看上去是没问题的,从异常上看是你在使用 DbPro.find(sql) 这个方法的 sql 为 null ,单步调试秒秒钟解决问题,不要靠猜

这个问题与是否添加多个 addSqlTemplate 没有关系,添加多个才是正常的姿势

2018-02-07 11:58

@陈伟 jfinal 3.4 已经处理过, 这个问题本质不是 jfinal 要解决的,报出这个异常是正确的

2018-02-07 11:54

去小木的社区找一找:
http://www.wxappclub.com/

这个社区是用 jfinal 来开发小程序的一整套东西

2018-02-07 11:49

@Joe88 配置问题,找下相关资料

2018-02-07 11:49

@qiuzhiwei 应该可以,调用一下 HttpKit 中的配置方法

2018-02-07 11:48

代码看上去是正确的,既然配置了 setBaseDowndPath,在 renderFile 时只需要指定相对路径与文件名就可以了,不需要 PathKit.getWebRootPath() 来拼接路径

如果没有反应,很可能出现了别的错误,但同时也不报错,很可能是 log4j 没有配置好,下载首页的 jfinal demo,拿到里头的 log4j.properties 与 log4j.jar 文件用于自己的项目中

2018-02-07 11:45

jfinal 目前没有提供现成的针对 DB2 的 Dialect,可以用 activeRecordPlugin.setDialect(new AnsiSqlDialect()) 来支持一下

AnsiSqlDialect 支持所有符合 ANSI SQL 标准的数据库方言。当然,你也可以参考 OracleDialect、SqlServerDialect 来扩展一个 Db2Dialect 来支持

2018-02-07 11:42

@jimmyyn 用 shiro 升到 jfinal 3.2 是没有问题的

一般来说升级 jfinal 到新版本,都是改改类名、方法名就可以了。 有朋友曾经跨越 9 个 jfinal 版本来升级也很容易