有没有办法用JSF EL表达式中的默认值替换null,有点像Oracle NVL
函数?
我知道我可以做类似
的事情#{obj == null ? 'None' : obj.property}
但希望有一种自动方式可以做到这一点,所以我不会复制/粘贴三元猫王运算符两侧的相同表达式。
我正在寻找像
这样的东西#{default(obj.property, 'None')}
答案 0 :(得分:8)
您最好的选择是创建自定义EL功能。
#{my:def(obj.property, 'None')}
(注意:由于default
是一个Java关键字/文字,因此在EL中使用此名称作为函数名称无效
如果您碰巧使用JSF实用程序库OmniFaces,那么您可以将#{of:coalesce()}
用于确切目的。
答案 1 :(得分:2)