Java 返回值时ValueChangeEvent未触发

Java 返回值时ValueChangeEvent未触发,java,jsf,valuechangelistener,Java,Jsf,Valuechangelistener,在我的jsf页面中,我有一个inputtext字段和一个隐藏字段。我有一个编辑按钮,点击编辑按钮后会出现一个弹出屏幕,我选择一个值,选择的值返回到我的隐藏字段 我向隐藏字段添加了valueChangeListener,并在bean中添加了以下代码 public void processChange(ValueChangeEvent event){ try { logger.info("event new value "+event.

在我的jsf页面中,我有一个inputtext字段和一个隐藏字段。我有一个编辑按钮,点击编辑按钮后会出现一个弹出屏幕,我选择一个值,选择的值返回到我的隐藏字段

我向隐藏字段添加了valueChangeListener,并在bean中添加了以下代码

public void processChange(ValueChangeEvent event){        
    try  {           
        logger.info("event new value "+event.getNewValue().toString());

    } catch (Exception ex)  {                        
    } 
但是,每次我使用编辑弹出窗口更改值并将值返回到隐藏字段时,我猜valueChangeListener不会触发

你知道valueChangeListener为什么不开火吗?我的页面范围是会话和使用JSF1.1


这种方法背后的想法是重新查询,并基于弹出窗口中的值,我希望刷新JSF页面中的数据。

您首先不应该捕获最超类的异常,尤其是在没有记录任何内容的情况下。可能event.getNewValue()中的对象为null,然后您会得到一个NullPointerException,您不会被注意到

使用类似的方式:

public void processChange(ValueChangeEvent event){        
try  {           
    logger.info("event new value "+event.getNewValue().toString());

} catch (NullPointerException ex)  { 
     logger.error("object is null: "+ex.getMessage());              
} catch (Exception ex)  { 
     logger.error(ex);              
} 

您必须提交表格。 在标记中添加onchage属性,该属性调用提交表单的javascript。
在表单提交之前,不会调用值更改事件。

-@timaschew我更改了异常部分,如您所述,但仍然无法在我的bean中看到更改后的值。valueChangeListener没有解雇我guess@BalusC你能提供一些见解吗?试试-@timaschew,我想JSF1.1中没有inputText组件的PropertyChangeListener。嗯,好吧,我不知道JSF,试试谷歌一些东西