The conditional operator works in many attributes like "rendered" "value" and others.
But it does not work in action? Or am I doing it wrong?
<h:commandLink action="#{true ? bean.methodTrue() : bean.methodFalse()}"/>
Error: javax.el.ELException: Not a Valid Method Expression
(I realized it using primefaces ajax action attribute)
This is not supported. The
action
attribute is supposed to be aMethodExpression
, but the conditional operator makes it aValueExpression
syntax. I don't think this will ever be supported forMethodExpression
s in EL.You have basically 2 options:
Create a single action method which delegates the job.
with
If necessary, pass it in as method argument by
#{bean.method(condition)}
.Or, conditionally render 2 buttons.