0

rich:hashParam タグを使用して rich:popupPanel に値を渡そうとしています。これが私のコードです

<h:commandLink value="Edit">
<rich:componentControl target="editPanel" operation="show">
    <a4j:param noEscape="true" value="event" />
    <rich:hashParam>
        <a4j:param name="categoryId" value="#{ c.categoryId }" />
        <a4j:param name="categoryName" value="#{ c.name }" />
        <a4j:param name="categoryParent" value="#{ c.parent }" />
    </rich:hashParam>
</rich:componentControl>

そして、ここにユーザーが何かできるポップアップパネルがあります

<rich:popupPanel id="editPanel" autosized="true">
    <!-- how to get value of the rich:hashParam? -->
</rich:popupPanel>

richfaces ドキュメントと rich:hashParam に関する例を参照して、rich:popupPanel 内で値を取得する方法を見つけました。しかし、ドキュメントには rich:hashParam に関する記述がほとんどなく、例はハード コードされており、rich:hashParam によって渡されていないようです。

資料:こちら

例:ここ

誰もこれについて考えていますか?前もって感謝します。

4

1 に答える 1

1

さて、私はこの問題を自分で解決しました。でパラメーターを渡す代わりに、 でrich:hashParamパラメーターをポップアップ パネルに渡し、a4j:paramその値をバッキング Bean プロパティに割り当てました。a4j:outputPanel次に、パラメーター値を表示する を再レンダリングします。

<h:form id="editDataForm">
    <!-- server do something with the 'categoryId' parameter it gets -->
    <a4j:commandLink action="#{ testBackingBean.editData }" value="Edit" render="dataContent" oncomplete="#{rich:component('editPanel')}.show()">
        <a4j:param name="data" value="#{ c.categoryId }" assignTo="#{ testBackingBean.categoryId }"/>
    </a4j:commandLink>
</h:form>
<!--...-->
<rich:popupPanel id="editPanel">
    <a4j:outputPanel id="dataContent" layout="inline">
        <h:outputText value="ID:"/>
        <h:outputText value="#{ testBackingBean.dataToEdit.categoryId }"/>
    </a4j:outputPanel>
</rich:popupPanel>
于 2012-08-28T08:54:17.633 に答える