user1598186がここで彼の質問で述べたのと同じ問題があります:p:commandButtonが<ui:include>ページでbeanのメソッドを呼び出さない
ただし、解決策は示されていません(彼は<ui:include>
タグを完全に削除し、代わりに変数を使用しました)
<ui:include>
commandButton内で呼び出しているときに、バッキングBeanのメソッドを使用して実行する方法はありますか?
どんな助けでも大歓迎です。
user1598186がここで彼の質問で述べたのと同じ問題があります:p:commandButtonが<ui:include>ページでbeanのメソッドを呼び出さない
ただし、解決策は示されていません(彼は<ui:include>
タグを完全に削除し、代わりに変数を使用しました)
<ui:include>
commandButton内で呼び出しているときに、バッキングBeanのメソッドを使用して実行する方法はありますか?
どんな助けでも大歓迎です。
EL 2.2 メソッド パラメーター (したがって、#{bean.method()}
代わりに) を使用して、commandButton の属性で#{bean.method}
使用できるメソッド シグネチャを渡すことができます。actionListener
以下は、ManagedBean プロパティを渡し、メソッド シグネチャを渡す例です。
メインページ
<ui:include src="/jointeam.xhtml">
<ui:param name="propertyValue" value="#{managedBean.property1} />
<ui:param name="method" value="#{managedBean.performAction()}" />
</ui:include>
jointeam.xhtml
...
<h:inputText value="#{propertyValue}" />
...
<p:commandButton value="Submit" actionListener="#{method}" />
コードの再利用という点でこれがいかに強力であり、多くの場合、複合コンポーネントよりも冗長性が低く、使いやすいことがわかります。