Java 使用submit但在set和get方法之后激发valueChangeListener

Java 使用submit但在set和get方法之后激发valueChangeListener,java,jsf-2,Java,Jsf 2,我有一个无法解决的问题,我有一个selectOneListbox,其中有一个值Chang Listener和submit onclick。它工作得很好,但我注意到的问题是,我为表单中的其他元素使用的Set和Get方法在捕获ValueChangeListener的方法之后运行。我无法使用表单中元素的正确数据,如何解决此问题 所以我在我的SelectOne列表框中: <h:selectOneListbox onclick="Submit();" valueChangeListener="#

我有一个无法解决的问题,我有一个selectOneListbox,其中有一个值Chang Listener和submit onclick。它工作得很好,但我注意到的问题是,我为表单中的其他元素使用的Set和Get方法在捕获ValueChangeListener的方法之后运行。我无法使用表单中元素的正确数据,如何解决此问题

所以我在我的SelectOne列表框中:

 <h:selectOneListbox onclick="Submit();" 
valueChangeListener="#{normalbesoksgrenController.setActiveFromAllList}" 
size="20" value="#{normalbesoksgrenController.currentVardTillfalleID}">

 <f:selectItems itemValue="#{item.vardTillfalle.id}" itemLabel="# 
{normalbesoksgrenController.getDateAndTime(item.getVardTillfalle().getStartTid())}"
var="item" value="#{normalbesoksgrenController.besokList}" ></f:selectItems>

             </h:selectOneListbox>

我认为您可能希望像这样使用ajax事件:

    <h:selectOneListBox .....>
       <f:ajax execute="@form" listener="#{normalbesoksgrenController.setActiveFromAllList}" event="change" reder=":whatEverYouWant"  />
    </h:selectOneListBox>


execute属性定义了在处理ajax请求之前应该提交的内容。

我认为您可能希望像这样使用ajax事件:

    <h:selectOneListBox .....>
       <f:ajax execute="@form" listener="#{normalbesoksgrenController.setActiveFromAllList}" event="change" reder=":whatEverYouWant"  />
    </h:selectOneListBox>


execute属性定义了在处理ajax请求之前应该提交的内容。

谢谢,它工作得非常好。在这里,其他有同样问题的人读到了价值观改变的听众:谢谢,它工作得很好。在这里,其他有同样问题的人阅读了有关值更改侦听器的内容: