Is there a way to replace null with a default value in JSF EL expressions, sort of like the Oracle NVL function?
I know I can do something like
#{obj == null ? 'None' : obj.property}
But was hoping there is an automatic way to do it so I’m not copy/pasting the same expression on both sides of the ternary Elvis operator.
I’m looking for something like
#{default(obj.property, 'None')}
No such thing exist in EL. Not now and not in the future.
Your best bet is creating a custom EL function.
(note: as
defaultis a Java keyword/literal, it’s invalid to use exactly this name as function name in EL)If you happen to use JSF utility library OmniFaces, then you can use
#{of:coalesce()}for the exact purpose.See also: