jsf valueChangeListener 表间级联









如上是我的代码 在选择区的时候 可以级联出 服务器. 但是在我选择了 一区 再选择一个服务器 .然后 再选择区的时候会报出:
j_id_jsp_297725092_2:j_id_jsp_297725092_8:验证错误:值无效 (服务器下拉列表 那的id报出的)
但是服务器下拉别表是有值的 而且是正确的.
但是提交表单后 不能成功,服务器下拉列表 那就变成没值了
但是 区 下拉列表 是有值的 必须重新 选择 才会带出服务器下拉列表

区:




/h:selectOneMenu
/h:panelGroup
服务器:




/h:selectOneMenu
/h:panelGroup

2个回答

问题解决了,使用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阶段各种验证什么都执行完了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐