jsf - Can we write like SQL IN clause (contains) in an EL expression -
i've below code find verbose:
#{bean.value eq 's' || bean.value eq 'c'}
can simplify using sql in
clause? fictive example below:
#{bean.value in ('s','c')}
if you're using el 3.0 (java ee 7), can construct collection
using #{[x,y,z]}
syntax , perform contains()
on it. provided desired bean property returns string
(and not char
or enum
), should do:
#{['s','c'].contains(bean.value)}
or if you're on el 2.2 (java ee 6), you've got hold values in collection
(e.g. hashset
) bean property , perform contains()
on it:
#{bean.allowedvalues.contains(bean.value)}
or if you're not on el 2.2 yet, then, well, stick initial approach, or create custom el function below:
#{f:contains(bean.value, bean.allowedvalues)}
Comments
Post a Comment