0

さて、私はデータテーブルを持っています。その上で、ユーザーはデータテーブルに表示される値を入力します。これで、このコードをバッキング Bean に記述しました。

if (countryList.contains(country)) {
            FacesMessage msg = new FacesMessage("Duplicated", "This country has already been added");
            FacesContext.getCurrentInstance().addMessage(null, msg);
        } else{

            countryList.add(country);
            this.country = new Country();
              }

データテーブルと入力フィールド xhtml は

<p:outputPanel>  
                                <h:panelGrid columns="3" cellpadding="5" cellspacing="5">

                                    <p:column>
                                        <h:outputLabel for="country"  value="Country: "></h:outputLabel>
                                    </p:column>
                                    <p:column>
                                        <p:inputText id="country" maxlength="25" value="#{profileInfoManagedBean.country.country}" required="false" label="Country">
                                            <p:watermark value="Enter a country name" for="country" />
                                            <p:ajax event="blur" update="msg1" />
                                        </p:inputText>
                                    </p:column>
                                    <p:column>
                                        <p:message id="msg1" for="country" display="icon"></p:message>
                                    </p:column>

                                </h:panelGrid>
                                <p:commandButton value="Add" action="#{profileInfoManagedBean.addCountry}" update=":mainForm" style="margin:10px 0" id="btnAdd"/>
                            </p:outputPanel>

さて、問題は、初めて国を追加するときに、国名の重複が検出されないことです。JSF 2.0 を使用しています。

4

0 に答える 0