2018-08-06 11:57
小括号中的就是表达式,是参数,与外面的是不同的:#@paginate(files.pageNumber, files.totalPage, "/MyFileSys/files/getMyFiles/groupId-" + user.id + "-memuId-");
2018-08-03 15:05
得到 SqlPara 对象以后, 这样用:Db.delete(sqlPara.getSql(), sqlPara.getPara());在文档中有说明:所有数据库 API 在没有直接支持 SqlPara 参数时,调用其getter 方法取出 sql + para 即可使用这样设计的原因是避免 API 数量膨涨
2018-08-01 08:37
@阳光男孩_木注意看一下 renderText 方法还有个带 ContentType的重载方法用这个带 XML 的即可
2018-07-31 17:46
这个是空指针异常,根据异常提示,调试一下是哪个对象为 null 引起的
2018-07-31 17:43
直接使用 renderXml("file.xml"), file.xml 文件中可以直接使用 jfinal 的模板引擎功能,输出一些动态数据,还可以使用 #for 循环输出数据,看下文档
2018-07-30 10:34
如果你在使用 enjoy 时,在控制台没有错误提示,需要下载本站首页的 jfinal demo,使用里头的 log4j.jar 以及 log4j.properties 文件
2018-07-30 10:33
freemarker 为了满足支持变量不赋值的场景,但要解决用户体验不好的问题,需要添加一个叹号来解决,例如:#(userName ! )而 enjoy 觉得多一个叹号比较麻烦,就没有这样设计
2018-07-30 10:31
模板有错误时,在控制台和日志中会输出很明确的提示,明确到行号、出错原因#(userName) 错写成了 #(uName) 这种况是没有输出,你试试 #(user.nickName) 在找不到 user 时的情况就知道了这样设计的原因是历史上 freemarker 就是采用找不到变最时输出黄色错误页面,用户体验 非常不好,因为 #(userName) 这类变量在模板中通常可以不用赋值的应用场景
2018-07-30 10:28
单步调试,看是哪一步慢了, 200 条数据 19 秒这个在正常情况下是不可能的,除非是有死锁或者是每条数据的数据量巨大很可能是网络原因或者是数据库本身就慢
2018-07-28 21:35
用一个全局拦截器,大致代码如下:try {inv.invoke();}catch (Exception e) {Throwable t = e.getTargetException();if (t instanceof 你的业务异常类理) {// 处理业务异常:// 例如: inv.getController().renderJson(...);}else if (t instanceof 其它异常类型) {....}
2018-07-25 20:35
跨域有很多办法,参考一下这个:http://www.jfinal.com/share/260
2018-07-25 20:31
这个从来没碰到过,可能是 sql 有错误
2018-07-25 20:30
加个全局拦截器就可以了:me.add(new SessionInViewInterceptor());
2018-07-25 11:25
@miracle佐 @土龙 又来两个踩坑的,oracle 作为这么成熟的商业公司出现这种 bug 实属不应该
2018-07-25 11:24
将 servlet api 这个依赖彻底去掉,参考首页下载的 jfinal_demo_for_maven 项目中的 pom.xml