2017-08-12 23:22
@地狱里的帅灵魂 _MappingKit 是生成器自己生成的,不用自己手写,生成器在 jfinal demo 里面有,运行一下里面的 main 方法就生成了 _MappingKit
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);
}