1

ドロップダウンボックスとinputTextがあります。ここに私のxhtmlコードがあります:

<h:panelGroup id="inputs">
<h:selectOneMenu value="#{tabBean.refundCharge}" name="reCharge">
    <f:selectItems value="#{tabBean.reChargeList}" />
    <f:ajax render="inputs" />
    </h:selectOneMenu>


    <p:inputText value="#{tabBean.refundDescr}"  rendered="#{tabBean.refundCharge == 'Item2'}"/>
</h:panelGroup>

そして、これは TabBean です:

 private String            refundCharge;

    public String[] getReChargeList() {


        ResourceBundle config = ResourceBundle.getBundle("config");
        String reChargeList=   "Item1 % Item2 % Item3";
        String delimeter = "[%]";
        String[] reChargeDescr = reChargeList.split(delimeter);

        return reChargeDescr;
    }

入力テキストは表示されません。ドロップダウン リストから Item2 の値をクリックすると、入力テキストが表示される必要があります。しかし、これらのコードでは機能しません。

Item2 をクリックしたときに表示される必要があります。エラーはどこにありますか?

ありがとう

4

1 に答える 1

3

の前後にスペースがあり%ますreChargeList。したがって、実質的に分割値は"Item1 "" Item2 "および" Item3"です。属性で指定したものと" Item2 "等しくないため、レンダリングされません。"Item2"rendered

それらのスペースを削除するか、分割区切り文字を次のように変更します\\s*%\\s*

于 2012-05-15T12:53:34.793 に答える