2017-08-11 16:17
@caoyaxin 单步调试跟踪到 Config.getConnection() 中去,看是不是从 ThreadLocal 这个对象中获取的 connection,然后跟踪到 Config.close(connection) 中去,看 conection 是否被关闭了
定时任务确实容易出现你碰到的这个问题
2017-08-11 16:08
@锋 缺包而已,在首页下载 jfinal-3.1-all.zip 这个文件,里面有一个说明文件,指出了 cron4j 需要什么 jar 包
2017-08-11 16:03
IOC 的核心目标是为了在创建目标对象时应用代理,从而实现 AOP 功能
而 jfinal 已经有更简洁的 AOP 方法,也就没有必要用 IOC。 IOC 所要付出的代价不小,例如需要引入一个容器来实理对象的创建以及代理生成,还要用大量 XML 或者 Annotation 配置 bean 之间的依赖关系
从成本、便捷、以及核心目标综合权衡,jfinal 不提供 IOC,如果用户非常想要 IOC,几十行代码的事,这里是 jfinal 1.9 版本以前提供过的 spring 整合代码,可以参考一下,注意 ActionInvocation 要改名为 Invocation:https://gitee.com/jfinal/jfinal/tree/jfinal-1.9/src/com/jfinal/plugin/spring
2017-08-10 22:29
@叮咚 得先看你的模板引擎用的是什么,如果是 jfinal template engine , 用一下 #(ret) #(ret.msg) 这种就可以得到
如果用 freemarker ,用 ${ret} 得到
2017-08-10 16:39
@Willson_L 当你没有调用 invoke(),也就是没有调用 controller,进而 controller 中的 render 方法也没被调用
当一个请求过来,至始至终都没有调用过 render 方法的话, jfinal 会默认帮你调用一下 render(view),而 view 的规则如下:
view = baseViewPath + viewPath + methodName + ".html"
其中 baseViewPath 是你在 configRoute(Routes me) 中通过 me.setBaseViewPath(...) 设置的,而 viewPath 是 me.add(controllerKey, controllerClass, viewPath) 时调协的
methodName 是你 action 的方法名