Ответ 1
Это не поддерживается. Атрибут action
должен быть MethodExpression
, но условный оператор делает его синтаксисом ValueExpression
. Я не думаю, что это будет когда-либо поддерживаться для MethodExpression
в EL.
У вас есть в основном 2 варианта:
-
Создайте один метод действий, который делегирует задание.
<h:commandButton ... action="#{bean.method}" />
с
public String method() { return condition ? methodTrue() : methodFalse(); }
При необходимости передайте его как аргумент метода
#{bean.method(condition)}
. -
Или условно отрисуйте 2 кнопки.
<h:commandButton ... action="#{bean.methodTrue}" rendered="#{bean.condition}" /> <h:commandButton ... action="#{bean.methodFalse}" rendered="#{not bean.conditon}" />