0

ドロップダウン:

<h:outputLabel value="#{build.approvedRecons}" for="reconSearchFunctionalAreaID"></h:outputLabel>
    <p:selectOneMenu style="width:200px;" id="reconSearchFunctionalAreaID" >
        <f:selectItem itemValue="-Select One-" itemLabel="-Select One-" />
         <f:selectItems value="#{approvedReconDetailsBean.reconItemList}"/>
          <p:ajax update="@form" listener="#{approvedReconDetailsBean.reconDetailsDisplay}" event="onChange"></p:ajax>
    </p:selectOneMenu>............<h:outputLabel for="reconNameID" value="#{build.appvReconName}" />
                 <h:outputText value="#{build.colon}" />
                 <h:outputText value="#{approvedReconDetailsBean.reconCtxVO.reconID}" id="reconNameID" />

リスナー:

public void reconDetailsDisplay(SelectEvent event){

    ReconContextVO tempReconContextVO = ((ReconContextVO) event.getObject());
    ReconContextVO reconCtxVO1 = new ReconContextVO(); 
    reconCtxVO1.setReconID(tempReconContextVO.getReconID());
    reconCtxVO1.setReconName(tempReconContextVO.getReconName());
    reconCtxVO1.setTxnProcessingType(tempReconContextVO.getTxnProcessingType());
    reconCtxVO1.setTxnProcessingType(tempReconContextVO.getTxnProcessingType());
    this.setReconCtxVO(reconCtxVO1);
}

reconItemListタイプ List<ReconContextVO>です。私のBeanでは、に変換reconsListしましたreconItemListReconContextVO含む

private String reconName; 
private String txnProcessingType; 
private String txnProcessingLevel; 
// and their setter & getters

今、ドロップダウンの変更時にテキストフィールドに、、、reconNametxnProcessingType表示したいと思います。txnProcessingLevel上記のコードのような ajax listner メソッドを書きました。わからない。

4

1 に答える 1

1

あなたの具体的な問題は、の誤った使用によって引き起こされます<p:ajax>。はevent="onChange"無効です。そうする必要がありますevent="change"(これはすでにデフォルトであるため、安全に省略できます)。リスナー メソッドの引数も無効AjaxBehaviorEventです。

しかし、結局のところ、これにはリスナー メソッドは必要ありません。<p:selectOneMenu value>Bean プロパティに直接バインドできます。

<p:selectOneMenu value="#{approvedReconDetailsBean.reconCtxVO}">
    <f:selectItem itemValue="-Select One-" itemLabel="-Select One-" noSelectionOption="true" />
    <f:selectItems value="#{approvedReconDetailsBean.reconItemList}" />
    <p:ajax update="reconDetails" />
</p:selectOneMenu>

<h:panelGroup id="reconDetails">
    <h:outputText value="#{approvedReconDetailsBean.reconCtxVO.reconID}" />
    <h:outputText value="#{approvedReconDetailsBean.reconCtxVO.reconName}" />
    <h:outputText value="#{approvedReconDetailsBean.reconCtxVO.txtProcessingType}" />
    <h:outputText value="#{approvedReconDetailsBean.reconCtxVO.txnProcessingLevel}" />
</h:panelGroup>

私はあなたがすでにConverterオブジェクトを持っていて、それequals()が適切に実装されていると仮定していることに注意してください。適切に行わないと、変換/検証エラーが発生するはずです。

于 2012-12-24T11:38:07.393 に答える