2018-09-06 12:34

解决问题,最基本的方法就是仔细读懂异常,没人知道你的异常信息是什么,也就没人猜到是什么了

2018-09-06 12:32

根据控制台输出的异常找到源因,并解决之

如果控制台没有输出异常,下载首页的 jfinal demo,拿到里面的 log4j.properties 文件用于自己的项目中

2018-09-06 12:31

@Dull 用户自己的代码,如果 A 依赖 B , B 依赖 C , 如果这时 C 依赖于 A,就形成了间接循环依赖,对这类情况的 json 转换必然会造成无限循环,默认转换 30 层对于大部分情况是够用的

看来默认转换深度得再调整得大一点

2018-09-06 12:02

enjoy 中的所有 getTemplate 方法,本质都是从 getTemplate(ISource source) 扩展出来的,你也可以扩展。

例如扩展出一个 DbSource 从数据库中读取模板,扩展出 NetSource 从网络上读取模板

2018-09-06 12:01

@Dull 何必那么麻烦,功能都在那呢,直接使用:
engine.getTemplate(new ClassPathSource(tplPath));

Engine 中的 getTemplate 重载了很多方便的方法,满足绝大部分需求,即便是不满足,也可以使用 getTemplate(ISource) 方法,这个方法中 ISource 可以让你扩展出从任意地方加载模板

enjoy 内部的 ClassPathSourceFactory、ClassPathSource 不仅仅是可以读取 jar 包内的模板,还同时可以读取 class path 下面的模板,所谓的 class path 下面的模板就是你的 JVM 启动时生效的 class path,通常是下面的这种路径:
WEB-INF/classes
target/classes
bin

总之这个 class path 是 JVM 启动时去找 class 文件的地方

2018-09-06 11:16

JFinalJson 为了避免在循环依赖上出现无限循环,使用了 convertDepth 来进行保护,默认转换深度为 15 层

2018-09-06 11:15

第二个问题先说一下, JDBC 的 like 不是这么用的, oracle 在 JDBC 之下的 like 查一下它的文档。你可以试着将问号去掉,将参数写在 sql 中就可以

jfinal 仅仅是将你的 sql 与参数直接转手给底层的 JDBC,只要你让 JDBC 可以执行你的 sql + para 就可以

第一个问题,可以使用一下这个配置:
ActiveRecordPlugin.setContainerFactory(new CaseInsensitiveContainerFactory());

2018-09-06 11:10

配置一下:
JFinalJson.setConvertDepth(100);

2018-09-06 10:40

上面博客中谈到的 tomcat 的坑是 tomcat 本身固有的,与 jfinal 完全无关

2018-09-06 10:40

JFinal 项目是符合 java web 规范的普通项目,所以开发者原有的项目启动和部署知识全部有效,不需要特殊对待 JFinal 项目,可以看一下这里的声明:
http://www.jfinal.com/doc/1-5

此外,如果你是用 tomcat 启动,还要注意这几个坑:
https://my.oschina.net/jfinal/blog/353062

2018-09-06 10:39

09-06 10:39
@foam103 出现的异常是什么,代码是怎么样的?

贴出尽可能详细的代码,以及尽可能详细的异常,否则都是在猜谜

2018-09-06 10:38

@fangjunai jsoup 相当不错,常用工具

2018-09-06 10:37

配置下面的两项:
engine.setSourceFactory(new ClassPathSourceFactory());
engine.setBaseTemplatePath(null);

最后还要注意下面这个问题:
http://www.jfinal.com/share/979

上面这个问题在即将发布的 jfinal 3.5 中已经解决了

2018-09-06 10:35

@航程序员 tomcat 加载两次肯定是掉到 tomcat 的坑里去了,看一下这里:
https://my.oschina.net/jfinal/blog/353062

2018-09-05 22:41

@libofei 全在 com.jfinal.kit 这个包下面,工具类里面都是简单的 static 方法,参数也很少,拿来即用