method-signature 属性を持つコンポメントがあります。アクティブ化できますが、 に入れて<h:datatable> <h:column/>
このコンポーネントをトリガーすると機能しません。
このページをもう一度更新するか、別の場所に置くと、正常に呼び出されます。誰か理由教えてくれたら嬉しいです!
これは私のコードです
<h:column>
<f:facet name="header">op:</f:facet>
<h:commandLink value="alter" action="#{userSession.alterAction}"
rendered="#{userSession.user.power.powerID == 1}">
<f:param name="beanId" value="#{book.bookID}" />
<f:param name="class" value="#{BookBean}" />
</h:commandLink>
<h:commandLink action="#{userSession.detailAction}" value="detail"
rendered="#{userSession.user != null}">
<f:param name="beanId" value="#{book.bookID}" />
<f:param name="class" value="#{BookBean}" />
</h:commandLink>
<h:commandLink action="#{bookAction.bookDelAction}"
onclick="return confirm('are you sure?')" value="delete"
rendered="#{userSession.user.power.powerID == 1}">
<f:param name="beanId" value="#{book.bookID}" />
</h:commandLink>
</h:column>
このmanagedBean #{bookAction}は、削除のように、この操作の1つをクリックするとrequestScopeになり、まったく機能しません。しかし、「削除」コマンドリンクを . の外に置くと、<h:datatabel/>
バッキング メソッドを正常に呼び出すことができます。それはとても怒っています!
これらのコードを.it<h:datatable/>
に入れれば、見つかった .i をシールドできるかどうか誰が教えてくれますか? <h:form/>
理由を教えてください!