2017-12-18 10:49

先会使用 jasperReport,然后直接用上即可

jfinal 是 MVC + ORM 框架,使用任何第三方时直接用就好,不一定要有个整合动作。

2017-12-18 10:47

简单到令人发指,几行代码的事,这里正好有个例子:
https://gitee.com/duaicxx/Ioc_Manager/tree/3.3.1/src/main/java/org/dval/controllerfactory

注意,这个项目现在只有 3.3.1 这个分支在使用 ControllerFactory

2017-12-17 21:50

1:某些异常本身就没有 cause 部分,也不需要 cause 部分,例如空指针异常 NullPointerException。你可以认为这些异常已经清晰到无法再做进一步的解释

2:JFinal 的 ActionHandler 中会对所有捕获到的异常做做一次日志,如果不希望在这里被做一次日志,需要你自己 try catch 后,不再 throw 抛出来即可。 你有两个全局拦截器,需要检查一下是不是 catch 中没有 catch 到所有可能的异常类型,以及是否再次抛出

2017-12-17 21:46

从 MysqlDialect.java 中来

2017-12-17 21:44

信息量不够无法回答

2017-12-17 21:42

freemarker 是后端模板引擎,渲染是发生成后端的 java 代码里头的,而 ajax 请求得到的数据需要用 js 来操纵,此时 freemarker 对 ajax 返回的数据没有操纵的可能性

2017-12-17 21:39

有个简单的办法是在转 json 前调用一次 model与record的 removeNullValues() 方法

2017-12-16 17:18

java primative 类型是不支持接收 null 值的,这个目前没什么办法,jfinal 也不太方便干预不去处理 null 值的 setter 注入,因为有些情况 null 是用户需求要求这样的

2017-12-15 16:58

@Shydow 对比一下 jfinal 3.3 的 I18nInterceptor 源代码就知道了,这个代码确实有问题,次序不对,自己建个拦截器,继承一下 I18nInterceptor 拦截器,覆盖一下 intercept 方法,照着 jfinal 3.3 的代码调整一下即可

jf 3.3 的源码在首页的 jfinal-3.3-all.zip 中可以下载到

2017-12-15 12:10

你的 java 代码呢?

2017-12-15 11:50

感谢你的分享

这个问题确实有点不好弄,所以后来我改进了 jfinal 手册中有关的内容,对例子进行了加强,建议下载一份最新版本的 jfinal 手册

2017-12-15 11:47

提交用的 input 是一个普通的 submit 按钮,不要用 button 这个标签。

注意一点,将 form 表单完全搞成“非ajax”使用的形式,完全无视 ajax 的存在,然后写一个绑定就可以了:
$(document).ready(function() {
$("#myArticleForm").ajaxForm({
dataType: "json",
// 在对表单域进行序列化之前回调
success: function(ret) {},
error: function(ret) { }
});
});

2017-12-13 22:49

早就可以了: User user = FastJson.getJson().parse(paraJson, User.class);

2017-12-13 22:18

@badouyuren 只要不是复杂 order by 就没事,用正则去除复杂 order by 性能会下降一个数量级,权衡后引入 paginateByFullSql

大部分 sql 的 order by 都能搞定,一般没事

2017-12-13 18:37

带有复杂 order by 的用一下 paginateByFullSql 即可,看一下 jfinal 手册有关这个方法的说明