2019-04-18 10:58

要配置一下:
routes.setMappingSuperClass(true);

在升级文档中有过说明:
https://www.jfinal.com/doc/14-1

这是一个性能优化,默认不对超类中的方法进行迭代生成路由

如果希望既可以对超类进行路由映射,又能保留这个优化,可以在其子路由中配置:
public class SubRoutes extends Routes {
public void config() {
setMappingSuperClass(true);
add(...);
}
}

上面的 SubRoutes 是子路由,只在这个子路由中其添加的 controller 进行超类映射,其它路由不影响,最后配置:
public void configRoute(Routes me) {
me.add(new SubRoutes());
me.add(new OtherRoutes());
}

一般情况,你要省事的话,直接:
public void configRoute(Routes me) {
me.setMappingSuperClass(true);
me.add(...);
}

2019-04-18 10:50

用 proguard 对你的代码进行处理,反编译出来的代码不可读

2019-04-18 10:36

log4j.properties 文件中输出日志文件的路径要改成绝对路径,不能以 "./" 打头,要以 "/" 打头

然后去该路径下面去找日志即可

2019-04-18 10:35

将日志配置弄好,让其在控制台可以输出异常,然后根据异常去解决

2019-04-18 10:34

#() 是输出,与设置值无关

设置值使用 #set( key = value)

注意多看文档:https://www.jfinal.com/doc/6-4

2019-04-18 10:33

下载本站首页右侧的 jfinal demo for maven,直接拿到 pom.xml 与 package.xml 用上,只要改改 pom.xml 中的少量内容,package.xml 中的内容不用修改主

2019-04-17 17:40

@正负余 升级文档中详细说明过这个问题:
https://www.jfinal.com/doc/14-1

简单一句话就是:jfinal 3.6 默认帮你调用了一次:
arp.getEngine().setToClassPathSourceFactory();

所以,默认会去 class path 和 jar 包之中找 sql 文件

2019-04-17 17:19

最后:强烈建议 sql 文件放在 src/main/resources 目录或者其子目录下,在添加 sql 文件时候,只需要直接使用其文件名,或者其下的 子目录名 + 文件名

2019-04-17 17:18

要仔细搞清楚这个问题,需要知道如下几点:
1:sql 管理使用的是 Enjoy 模板引擎管理 sql 文件

2:sql 管理使用的 Engine 对象被默认配置了 engine.setToClassPathSourceFactory()
也就是说会去 class path 和 jar 包中找 sql 文件

3:标准 maven 项目的 src/main/resources 目录默认也可以认为是 class path,因为该目录下面的所有文件会被 copy 到 class path 之下

4:如果碰到与路径有关的问题,看一下 enjoy 引擎的文档:
https://www.jfinal.com/doc/6-2
注意这一小节《6、从 class path 和 jar 包加载模板配置》

碰到问题不要乱猜,要知道原由

2019-04-17 17:15

@正负余 你仔细看一下 jfinal club 最新版本中的用法

#include("/front/agentUser.sql") 这行代码,你要确保 agentUser.sql 文件在 all_sqls.sql 文件所在目录的 front 子目录以下

2019-04-17 17:09

sql 管理功能的配置,永远不要使用 PathKit

2019-04-17 17:08

再重复一次:
1:删掉 arp.setBaseTemplatePath(...) 这行代码
2:arp.addSqlTemplate(...) 改成:arp.addSqlTemplate("/sql/all_sqls.sql");

2019-04-17 17:03

删掉 arp.setBaseTemplatePath(...)

arp.addSqlTemplate 带上目录:
arp.addSqlTemplate("/sql/all_sqls.sql");

2019-04-17 15:02

简洁方便,必赞

2019-04-17 10:46

@jfinal初识 这个问题,可以通过单步调试,看返回值的具体类型,然后再选择合适的接收变量的泛型参数即可