2018-01-30 18:33

非常详细,感谢你的分享

再介绍一个比较简洁可靠的方法,利用一个现有的 maven 项目,里头有 src 目录,以及 pom.xml 文件,稍微改改 pom.xml 中的 groupid 之类的,然后导入到 eclipse/IDEA 中即可,导入的时候选择导入的是 maven 项目, 开发工具会自动生成各种配置文件

这种方法可以避免掉自己创建项目过程中有些选项或者输入拿不准的问题

具体操作时,可以下载 jfinal.com 首页的 jfinal-demo-form-maven 这个小 demo 作为蓝本去操作,再一个就是 github 上很多这种标准备的 maven 结构的项目可以直接利用

2018-01-30 12:30

这个异常与是否使用的是 jfinal 没有关系

2018-01-30 12:29

NoClassDefFoundError 是一个基础问题,百度搜索这个异常名称,解决一下

2018-01-30 12:24

@toBeMN @布丁萨玛 maven 库下载 jar 的时候经常会出问题,也会引发这样的问题,解决办法:
1:尽可能使用较新的 maven 版本,千万不要使用 eclipse 自带的 maven
2:出现问题,去 maven 本地库删掉出问题的 jar 包所在的目录,让 maven 重新下载一次

2018-01-30 12:21

往日志里输出点东西,然后刷新项目

如果还是不行,下载首页的 jfinal demo, 将里头的 log4j.properties 拿到项目中使用

这个纯 log4j 配置问题,与 jfinal 无关

2018-01-30 12:20

@或是的话 这个就很奇怪了,fastjson将 jsonString 转 model,只认 setter,建议单步调试一下

2018-01-29 20:42

用上 ClassPathSourceFactory 以后, baseTemplatePath 为 null 值是正确的,看一下控制台输出的路径,到底去哪个目录找文件了,注意目录与文件名大小写即可

再注意 ClassPathSourceFactory 是去 class path 与 jar 包中找模板文件,与 webapp 是无关的

2018-01-29 18:12

百度搜索一下:NoClassDefFoundError

好多解决办法,这个是 java 开发基础,与具体哪项技术是无关的

2018-01-29 17:34

@215115704 用一个全局拦截器,代码大致如下:
Controller c = inv.getController();
c.setAttr("actionKey", inv.getActionKey());
c.setAttr(...);
inv.invoke();

全局拦截器的配置见 jfinal 文档

2018-01-29 17:28

百度搜索一下:NoClassDefFoundError

好多解决办法,这个是 java 开发基础,与具体哪项技术是无关的

2018-01-29 17:27

@没有顺风的船 去掉 true 以后,出来的大写是 oracle 的行为, 这样就正常了

2018-01-29 15:47

@或是的话 想转成 List ,先要确保 json String 是这样的格式:
[{k1:v1}, {k2: v2}]

也就是说,要确保最外层是 []

2018-01-29 15:45

jfinal 不会做这种转换,看是不是你用了 arp.setContainerFactory(new CaseInsensitiveControllerFactory(true/false));

如果确实用了,去掉上面的参数 true/false 即可

2018-01-29 15:44

@sinwinglok 触发场景是你可以对参数的长度、类型进行控制,看一下 com.jfinal.template.ext.directive 中的例子就知道了