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