2019-03-10 17:35

src/main/resources 下面的所有文件会被编译器复制到 target/classes 下面去,而 target/classes 是 class path

2019-03-10 17:34

生成器中用到的 Engine 对象有下面的配置:
engine.setToClassPathSourceFactory();

那么它将从 class path 与 jar 包中寻找模板,你的代码要去掉 "/" + PathKit.getWebRootPath() 这一部分,只留最后一部分

注意:建议模板文件放在 src/main/resources 下面,然后可以只填模板文件名。因为 src/main/resources 的资源相当于是 class path

2019-03-10 17:08

UploadFile 与 File 都可以,获取不到是别的原因,多检查代码

2019-03-10 16:42

@libofei 之所以没能支持 sqlite,就是因为它的这些 meta data 信息返回不正确,这个时候就需要你针对性的添加逻辑判断强行给定正确的 columntype

2019-03-10 13:27

跨界写 java 还写得这么好,赞

2019-03-09 23:20

@北流家园网 这样的方法肯定没有几个,你加上两三个算是多的了,试一下就知道了

这个问题是因为新版本的 jfinal 会将带有参数的方法也映射为 action,这个在老版本中是无参的才映射

如果你确实要映射有参的方法为 action,只要保障 actionKey 唯一就可以了

2019-03-09 13:39

用 winrar 打开 jar 包,找一下启动类到底存在不存在,如果存在则再改配置文件,注意字母大小写

此外,注意要双击打包目录下面的 start.bat , 而不要去双击项目根下面的 start.bat

最后,脚本不能使用的问题一定要看文档:
https://www.jfinal.com/doc/1-5

2019-03-08 23:12

找到 getParaToSqlDateTime() 方法,在这个方法上用一个注解:@NotAction

2019-03-08 20:55

注入是有一个链条的: controller =》 service =》 other

或者: controller =》 other =》other

而你的注入并不是起缘于 controller 这个链接,所以无法注入,使用 Aop.get(...) 即可:
Aop.get(...);

2019-03-08 17:02

sqlite 在 PC 或 Server 端用得比较少,它的 JDBC 驱动对于 meta 获取的 API 可能不完善

解决办法是继承一下 MetaBuilder,覆盖里面生成 java 类型的方法,自己定制就可以了

2019-03-08 14:22

@Jimmy_f JFinal 项目是符合 Java Web 规范的普通项目,所以开发者原有的项目 启动 和 部署 知识全部有效,不需要特殊对待 JFinal 项目

因此,docker 以前你是怎么来用的,现在还怎么用

2019-03-08 14:21

jackson 是根据 getter 方法来转 jsonString 的,而你的 Model 没有生成 getter 方法

下载首页的 jfinal demo for maven,直接用上里面的一个生成器,生成 getter 方法即可

如果不想生成,使用:
me.setJsonFactory(new MixedJsonFactory());

注意看一下 json 相关文档:
https://www.jfinal.com/doc/12-1

2019-03-08 11:49

补充一下,for.outer 中隐含的一些状态主要是为了方便下面的用法:
#for ( x : list)

上面的用法没有 index、odd 等状态,所以要提供隐含用法

2019-03-08 11:48

@Struts2Ly 你的 for 循环里面已经有了 j、i 这两个变量,不管是外层还是内层 for 都可以直接使用

而 for.outer 引用的上层状态是指隐含的一些状态,既然你的 j、i 已经可用就不现需要 for.outer.index 了

2019-03-08 11:46

补充一下,建议使用 jfinal undertow 来部署,在首页有 jfinal demo for maven 可以下载,里面的说明文档参考一下即可