I’m trying to use a conditional expression in an el expression used in jsf, but it does not work.
<h:outputText value="#{(sel.description !=null) && (sel.description !='') ? sel.description : 'Empty description'} - "/>
but it does not work, the compiler says:
Error Traced[line: 118] The entity name must immediately follow the
‘&’ in the entity reference.
Do you have any suggestions?
Thank you!
You seem to be using Facelets (which is perfectly fine). It’s however a XML based view technology. Everything which you write in Facelets has to be syntactically valid XML. The
&is in XML a special character denoting the start of an entity like&,<,>, , etc.If you would like to represent the
&as-is in XML, then you’d have to replace it by&.However, that’s not pretty readable, you would rather like to use the alternative EL operator
andfor this (see also operators in EL for an overview of all available operators in EL):All with all, this is in turn pretty clumsy as there’s a simpler
emptykeyword for the purpose of testing both nullness and emptiness. This can in your particular case be used as:or
or