2017-08-12 11:34
扩展一下,先创建一个 MyParaDirective:
public class MyParaDirective extends ParaDirective
在 MyParaDirective 中覆写一下 exec(...) 方法,将原来的 ParaDirective.exec(...) 方法中的代码全 copy过来,改掉下面这一行代码:
sqlPara.addPara(exprList.eval(scope));
上面代码改成:
Object value = exprList.eval(scope);
if (value != null) {
sqlPara.addPara((value);
}
最后配置一下就可以了:
1:arp.getEngine().removeDirective("para") 先移除老的 para 指令
2:arp.getEngine().addDirective("para", new MyParaDirective()) 再添加自己扩展后的指令
sql 管理功能中的三个指令本身也全是扩展而来的,大家可以用类似的办法自由定制自己需要的指令
记得搞后来回来分享一下
2017-08-12 10:16
@rocker18 下载首页的 jfinal demo,页面里面有一个 _layout.html 就是布局模板了,然后每个具体的模板都是被该 layout 文件调用而已
例如其中的 index.html、blog.html 的这些模板中根本没有 html head 这类头部的标记存在
layout 的核心功能是重用模板内容,避免代码冗余重复
2017-08-11 23:16
@RonnyZhang 可以自己做一个 getModels 方法来支持,大概方法是:
1:表单域用下标方式表示,例如:
name="user_0.userName"
name="user_0.age"
name="user_1.userName"
name="user_1.age"
2:后端通过已有的 getModel 方法来实现 getModels,大致如下:
List userList = new ArrayList();
for (int i=0; i<size; i++) {
User user = getModel(User.class, "user_" + i);
userList.add(user);
}
2017-08-11 22:54
jfinal 整合过的用于开发调试用的 jetty 版本是 8.1.8 版本。但你可以使用任何的 jetty 来用,只是整合的那几个类无法工作,可以拿过来那几个类的代码自己弄个支持高版本的就可以了
jfinal 整合的 jetty 一直没有升到最新版本的 jetty, 是因为高版本的 jetty 强制使用 java8,而 jfinal 有大量的 java 6、java 7 的用户要照顾到
这里有一个现成的升到 jeety 9 的参考,非常省事,博客标题为:升级JFinal内置的jetty到9版本,并且支持ssl:https://my.oschina.net/myaniu/blog/470050
2017-08-11 22:50
@Terry丶 在 qq 里面,用关键字 jfinal 搜索 qq 群就可以了, 也可以直接加入: 222478625
2017-08-11 16:46
@caoyaxin 一直没顾上呢,暂时的觖办法见这里:
http://www.jfinal.com/feedback/1654
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