2017-07-19 16:34

@JFinal-zy 找找 BAE 的文档看一下,最好是能用命令行登录进去看看文件在不在那里

2017-07-19 15:44

@linuxea 因为这些框架有学习成本,花时间学习如何使用的时间早已写出自己的程序了

2017-07-19 15:44

根据异常提示的路径去看一下现场,到底有没有这个文件:
"/tmp/tomcat/Catalina/localhost/_/content/common/_layout.html

确保文件存在,并且有读取权限

2017-07-19 14:32

@yzdoraemon 把数据库设计好是关键,然后将流程审批抽象为对数据的操作,每一个流程就是在数据库做一个流程状态的记录

以数据为基础去做设计,而不要陷入到复杂的流程之中

2017-07-19 11:52

cookie 禁用后,通常用 url 重写就好,将 cookie 值放在 url 中传递就好,在 jfinal 这端支持这个需要添加一个 Handler,参考这里:
public class SessionIdHandler extends Handler {
public void handle(String target, HttpServletRequest request,
HttpServletResponse response, boolean[] isHandled) {
// L.cm update by 2014-08-06 更精准的判断
boolean isFromURL = request.isRequestedSessionIdFromURL();
if (isFromURL) {
target = target.substring(0, target.indexOf(';'));
}
next.handle(target, request, response, isHandled);
}
}

最后配置一下就好:
me.add(new SessionIdHandler());

2017-07-19 10:24

思路才是最重要的,能举一反三就很不错,感谢你的分享

2017-07-19 10:22

注意看这个方法:
public int[] batch(String sql, Object[][] paras, int batchSize)

所有 sql 都一样,为嘛要不断 strlist.add(...)

2017-07-19 10:21

@linuxea batch 方法其实可以重载出不需要 batchSize 的方法,例如:
public int[] batchSave(List modelList) {
return batchSave(modelList, modelList,size());
}

一来是因为 batch 系列的方法本身已经非常之多,再重载的话,方法数量会再翻一倍,二来是因为为了强调 batchSize 的作用,在注释中有说明 batchSize 的作用

总之,做一个上万人几十万人都喜欢用的框架,需要极多的权衡与纠结

2017-07-19 10:18

用 jfinal 开发的项目符合 java web 规范,所以以前的所有 java web 部署知识全部有效,直接用就好

2017-07-18 17:03

查一下 druid 的文档,这个我也不懂

2017-07-18 17:02

ehcache.xml 中有个持久化在硬盘的配置 diskPersistent="true"

2017-07-18 17:00

第一个问题,batch 系列方法支持开启事务,当某条数据抛出异常时,前面的数据处理会回滚 ,但是不同数据库所支持的 batchSize 有所不同,如果不设置 batchSize,在超出默认支持范围时会自动提交事务。 因此 batchSize 可以让用户更好地控制事务

第二个问题纯属 sql 问题,单步调试解决

2017-07-18 15:02

jfinal 手册有红色字体强调过,不要使用 dao.set(...),具体原因见手册,此外下面的代码:
public static final User dao = new User();

改成:
public static final User dao = new User().dao();
可以避免你 dao.set(...) 操作

2017-07-18 11:42

@youyuyang 你的拦截器调用 inv.invoke() 没,如果没调用,那么 action 中的 renderJson(resultData) 根本没执行

2017-07-18 10:53

@XIAOXIAO_ 这都快一个月了,才解决?