如题, 最近有个需求,不同客户要做不同的数据展示。 然后就把页面做到数据库中去了,不同租户使用自己的页面,自在。。。扯远了。。。
直接说“==”吧,因为里面涉及到数据库字段有的时候是 Integer有时候是String。。。 == 的时候有点烦,骚不注意就不等了。
以前这种情况都是使用 # if (item_key == user.sex.toString() ?? ) checked #end 这样的操作。
前后都有可能null,我自己写还好,但这个东西后面可能还要交给其他人(甚至客户的技术部)(支持在线编辑),那么他们不注意到这个情况的可能性就大多了。。。
所以! 干脆别写 == 了, 利用Enjoy 模板引擎的Shared Method 扩展搞个java 类进来就OK了
TemplateFn.java
//扩展的方法统一放到该类中 public class TemplateFn { public boolean eq(Object a, Object b){ if(Objects.equals(a, b)){ return true; } if(a != null && b != null && a.toString().equals(b.toString())){ return true; } return false; } public boolean notEq(Object a, Object b){ return !eq(a, b); } }
然后注册到JFinalConfig 》 Engine中去
@Override public void configPlugin(Plugins me) { //Method 扩展 me.addSharedMethod(new TemplateFn()); ... }
然后开心的去使用吧!老项目不用担心翻车了
#if(eq(value, dbValue)) selected #end
例子:
好了,分享完了, 路过的点个赞哈
我感觉我更喜欢用JS里的:==、===、!=、!==来代替现在的操作
=== 搞同类型比较 ,==允许类型转换比较