2017-03-03 11:43

调用的代码没有贴出来,sharedStaticMethod 应该是这样来调用:#(stripTags(...))

2017-03-03 11:41

刚刚还在前一个贴子希望楼主可以分享呢。三种扩展方式都非常简单,代码量极少,越来越多的小伙们开始在用 jfinal template engine 扩展出各种好玩的功能了。

感谢你的分享

2017-03-03 11:38

@gaurder jfinal 是极简设计,为了保持极简,很多功能都在克制不去做,只做了最常用的功能,但 jfinal 提供了简单且丰富的扩展方式,扩展起来很容易,如果有啥扩展,还请来分享频道分享给小伙伴们

2017-03-03 11:30

这个得呼出 @如梦技术 @卢春梦 大神

2017-03-02 20:53

@wendell620 你自己也可以改进,将 ParaDirective 中的 setExprList 这个方法删掉就可以了

2017-03-02 20:35

@jikes Db 以及 ActiveRecordPlugin 可以用于任何 java 项目中,一直都是可以的,jfinal 手册有一章节专门讲了如何使用。如果你没有用到 model,只用 Db + Record 的话,也要添加 ActiveRecordPlugin,只不过不需要映射 model 而已

2017-03-02 20:32

jfinal 定位于:MVC + ORM,所以很多功能都会克制不去做。 jfinal club 项目中有这个 email 发送的功能,考虑一下加入俱乐部,看一下俱乐部频道的介绍:http:jfinal.com/club

2017-03-02 20:31

@疑思静想 能否将你的扩展方案,发一篇分享贴子出来啊,挺有用的扩展

2017-03-02 20:30

@疑思静想 非常之好,越来越多的小伙伴开始使用自定义指令、sharedMethod、sharedObject、template function 来做扩展了,一致的感觉是:妙不可言

2017-03-02 20:29

@Terely 一般情况下,model 中也没有什么 null 值,如果设计表的时候不允许字段值为 null 的话,这种情况就更少,退一步讲,如果有 null 值,这也没什么错,所以一直以来也没有人反馈过这个问题

站在我个人的角度来说,是这么做的:
1:所有 model 用生成器生成了 getter 、setter,这样可以支持 json 的反向序列化
2:model 的 getter、setter 方法中不放任何逻辑,只是属性的读与写而已,保障了 JFinalJson 与 Fastjson 对其转换时的一致性
3:使用me.setJsonFactory(new MixedJsonFactory()),这样可以支持 Record 转 json
4:数据表的字段名直接使用驼峰命名,在 Record 转 json 时的属性名与 model 转 json 保持一致

通过上面的做法,在实践中并没有碰到过类似于 null 值的问题。如果万一碰到了并且很纠结,还可以使用 model.removeNullValueAttrs() 一次性去除所有 null 值属性

2017-03-02 20:14

@wendell620 非常之好,这个贴子我收藏一下,后面有人碰到问题贴个 url 就打完收枪,感谢你的分享

2017-03-02 17:02

JMap.put 的手误已经改正并上传了新版本的 jfinal 手册,建议下载新版本

2017-03-02 17:00

至于表达式有哪些类型,看一下手册

2017-03-02 17:00

不仅是 #if 指令,所有指令的括号中都是表达式,不能是别的东东

2017-03-02 16:59

#if 指令的括号里面,只能是表达式,而不能是指令,所以改成类似于这样:
#if(pos.positionsName == session.position.positionName)