如何handel ValueChangeEvent getNewValue()和getOldValue()?

时间:2016-06-27 09:54:01

标签: jsf

在我的应用程序中,有几个下拉框,每个下拉框都使用ValueChangeListner进行映射,因此当任何值从下拉列表更改时,会触发ValueChangeEvent并搜索控制器层中以ValueChangeEvent作为参数的所有方法。 / p>

  1. 这是我初始化我遇到错误的下拉列表的方法

    private void methodForDropDown1(){
    bean.setValue(null);
    List<String> datas=new ArrayList<>();
    datas.add("val1");
    datas.add("val2");
    datas.add("val3");
    List<SelectItem> tableData = buildSelectionItems(datas);//takes String and returns SelectItem
    datas.setComboBox(tableData);
    

    }

  2. 这就是我处理ValueChangeEvent

    的方式
    public void comboBoxDropDown1(ValueChangeEvent event) {
    if(event.getOldValue()==null){
        return;
    }
    try {
        if (event.getNewValue()!=null) {
    

    流程事件 }

  3. 如果我在第一次启动服务器后如果点击任何其他下拉框,那么我在这里提到的下拉列表已被初始化并且event.getNewValue() - &gt; VAL1, 但如果我点击下拉列表,则表示没有接受event.getOldValue(),它显示为null。

  4. 在页面中默认情况下它在页面加载时显示val1,所以假设这是新值,如果我选择val2 / val3然后它将这些值作为getNewValue()但是正如预期的那样它没有采取va1 as getOldValue()。

0 个答案:

没有答案