好的,我有一个数据表,用户在上面输入一个显示在数据表中的值。现在,我已经在 backing 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。