我有兩個級聯的p:selectOneMenu
組件。第一個顯示哈希映射的區域,第二個顯示ajax選定區域的城市。但是,提交與城市選擇的形式時,我得到級聯p:selectOneMenu失敗,驗證錯誤:值無效
Validation Error: Value is not valid
這裏的景色
<p:selectOneMenu id="area" value="#{bean.area}">
<f:selectItem itemLabel="Select Area" itemValue="" />
<f:selectItems value="#{bean.areas}" />
<p:ajax update="city" listener="#{bean.handleAreaChange()}" />
</p:selectOneMenu>
<p:selectOneMenu id="city" value="#{bean.city}">
<f:selectItem itemLabel="Select City" itemValue="" />
<f:selectItems value="#{bean.cities}" />
</p:selectOneMenu>
這裏的豆:
private String area;
private String city;
private Map<String, String> areas = new HashMap<String, String>();
private Map<String, String> cities = new HashMap<String, String>();
private Map<String, Map<String, String>> allCities = new HashMap<String, Map<String,String>>();
public void handleAreaChange() {
if (area != null && !area.isEmpty()) {
cities = allCities.get(area);
} else {
cities = new HashMap<String, String>();
}
}
這是怎麼造成的,我怎麼能解決這個問題?
這是默認事件。所以這不會改變任何OP。 – BalusC
我總是明確說明事件。我甚至沒有意識到它會默認valueChange(儘管這很有道理,我猜)。看起來我今天也學到了一些東西。這是這個論壇的美麗。 – SteveS