1

jsf selectOneMenu から選択した値に基づいて、透かしメッセージを動的に更新しようとしています。透かしコンポーネントに使用されている ID は「waterMark1」です。透かしコンポーネントは、入力テキスト フィールドにリンクされています。valueChange で、id waterMarkID1 が見つからないというエラー メッセージが表示されます。selectOneMenu の選択に基づいて outputText を更新しようとしましたが、ID を WatermarkID1 のままにしました。outputText で正常に動作します。

Bean の値に基づいて透かしメッセージを表示する方法はありますか?

<h:selectOneMenu value="#{RequestBean.searchonType}" valueChangeListener="# {RequestBean.getValidateMsg}" id="searchUser">
                                <f:selectItems value="#{RequestBean.searchonTypeList}" />
                                <f:ajax event="change" update="waterMarkID1"  render="waterMarkID1"/>
                          </h:selectOneMenu>


                          <h:inputText id="searchTxt" styleClass="text_small" size="50" value="#{RequestBean.searchTxt}"/>

                          <p:watermark id="waterMarkID1" for="searchTxt" value="#{RequestBean.waterMarkID}"/>
4

2 に答える 2

1

p:watermarkコンポーネントを直接更新することはできないようです。ただし、そのコンポーネントを保持するコンテナーを更新すると、透かしメッセージも更新されます。

<p:panel id="panel1">
    <h:selectOneMenu value="#{RequestBean.searchonType}" valueChangeListener="# {RequestBean.getValidateMsg}" id="searchUser">
        <f:selectItems value="#{RequestBean.searchonTypeList}" />
        <f:ajax event="change" render="panel1"/>
    </h:selectOneMenu>


    <h:inputText id="searchTxt" styleClass="text_small" size="50" value="#{RequestBean.searchTxt}"/>
    <p:watermark id="waterMarkID1" for="searchTxt" value="#{RequestBean.waterMarkID}"/>
</panel>

p:panelで囲まれた要素は、たとえばh:inputTextandp:watermarkのみに削減できることに注意してください。重要なのは、透かしコンポーネントではなく、コンテナーを更新することです。

于 2012-11-12T21:38:25.660 に答える