Это в основном расширение этого ответа.
Я пытаюсь получить аргумент в вызове метода/действия (для кнопки удаления в таблице списка/данных).
Клиент:
<ui:include src="...">
<ui:param name="acceptButtonBean" value="#{repoHome}" />
<ui:param name="acceptButtonAction" value="removeIndividualDocument(#{doc.id})" />
</ui:include>
Под просмотр:
<h:commandButton value="Continue"
action="#{acceptButtonBean[acceptButtonAction]}" />
...
</h:commandButton>
Однако JSF не работает с исключением:
...yadda, yadda
02:46:02,431 ERROR [stderr] (http--127.0.0.1-8080-5) Caused by: javax.el.MethodNotFoundException: /subviews/remove-doc-clink-popup.xhtml @37,98 action="#{acceptButtonBean[acceptButtonMethod]}": Method not found: [email protected]nt(89)()
02:46:02,431 ERROR [stderr] (http--127.0.0.1-8080-5) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:109)
02:46:02,431 ERROR [stderr] (http--127.0.0.1-8080-5) at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
02:46:02,431 ERROR [stderr] (http--127.0.0.1-8080-5) ... 31 more
Обратите внимание на
[email protected](89)()
Он не может работать таким образом. Кажется, что JSF добавляет круглые скобки, не имеет значения.
Может ли быть достигнуто по-другому, , но все еще с помощью вышеупомянутого метода? Если да, то как?
Если нет, то почему это не работает? Это указано? Это ошибка с Mojarra 2.0.x? Я не вижу проблем, чтобы опустить круглые скобки в случае наличия других круглых скобок...
Примечание. Я не ищу альтернативные решения, такие как использование f: param, f: attribute или f: setPropertyActionListener.
Заранее спасибо