如上是我的代码 在选择区的时候 可以级联出 服务器. 但是在我选择了 一区 再选择一个服务器 .然后 再选择区的时候会报出:
j_id_jsp_297725092_2:j_id_jsp_297725092_8:验证错误:值无效 (服务器下拉列表 那的id报出的)
但是服务器下拉别表是有值的 而且是正确的.
但是提交表单后 不能成功,服务器下拉列表 那就变成没值了
但是 区 下拉列表 是有值的 必须重新 选择 才会带出服务器下拉列表
区: | /h:selectOneMenu /h:panelGroup | 服务器: | /h:selectOneMenu /h:panelGroup |
问题解决了,使用binding没有这个问题:
服务器改动如下:
[code="java"]
private UISelectItems selectItems;
public UISelectItems getSelectItems() {
return selectItems;
}
public void setSelectItems(UISelectItems selectItems) {
this.selectItems = selectItems;
}
/**
* 值改变事件 带出服务器名称
* @param
*/
public void quToService(ValueChangeEvent e){
quTableId = (Integer) e.getNewValue();
if(quTableId == null)return;
serviceNameTables=fwqService.getAllOfFwq(quTableId);
selectItems.setValue(serviceNameTables);
}
[/code]
页面:
/h:selectOneMenu
应该是你设置了这个属性的问题immediate="true",这个值为true的时候,是立即执行。也就是在Apply request value阶段各种验证什么都执行完了。