cuiyaonan2000
cuiyaonan2000
2011-07-11 11:13

jsf valueChangeListener 表间级联

已采纳









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

区:




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




/h:selectOneMenu
/h:panelGroup

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • asdtiang asdtiang 10年前

    问题解决了,使用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

    点赞 评论 复制链接分享
  • qianzhi008 qianzhi008 10年前

    应该是你设置了这个属性的问题immediate="true",这个值为true的时候,是立即执行。也就是在Apply request value阶段各种验证什么都执行完了。

    点赞 评论 复制链接分享

相关推荐