如题, 最近有个需求,不同客户要做不同的数据展示。 然后就把页面做到数据库中去了,不同租户使用自己的页面,自在。。。扯远了。。。
直接说“==”吧,因为里面涉及到数据库字段有的时候是 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里的:==、===、!=、!==来代替现在的操作
=== 搞同类型比较 ,==允许类型转换比较