JSF EL - 用默认值替换null

时间:2012-09-11 17:36:39

标签: jsf null el

有没有办法用JSF EL表达式中的默认值替换null,有点像Oracle NVL函数?

我知道我可以做类似

的事情
#{obj == null ? 'None' : obj.property}

但希望有一种自动方式可以做到这一点,所以我不会复制/粘贴三元猫王运算符两侧的相同表达式。

我正在寻找像

这样的东西
#{default(obj.property, 'None')}

2 个答案:

答案 0 :(得分:8)

EL中没有这样的东西。不是now而不是future

您最好的选择是创建自定义EL功能。

#{my:def(obj.property, 'None')}

(注意:由于default是一个Java关键字/文字,因此在EL中使用此名称作为函数名称无效

如果您碰巧使用JSF实用程序库OmniFaces,那么您可以将#{of:coalesce()}用于确切目的。

另见:

答案 1 :(得分:2)

在某些情况下,你可以使用它:

<c:out value="${obj.property}" default="None"/>

(如建议here

相关问题