JSF 2.2复选框onChange侦听器仅在第二次单击时起作用

时间:2014-06-12 15:37:27

标签: jsf jsf-2.2 glassfish-4 mojarra

我正在使用Glassfish 4.0的Mojarra 2.2.0。

我有一个搜索表单,我想在选中一个复选框后执行一个操作,但该操作仅在第二次单击时执行。

<h:selectManyCheckbox
    value="#{searchBean.facetSelectionChoosen}"
    layout="pageDirection"
    styleClass="checkbox"
    >
<f:selectItems value="#{searchBean.facetSelectionAvailable}"/>

<f:ajax execute="@form" listener="#{searchBean.search}" render="@form" />
</h:selectManyCheckbox>

在第一个选择一个复选框时,浏览器向服务器发送POST请求并检索匹配的HTML片段, 但操作未执行


这是请求正文:

searchForm=searchForm&searchForm%3Aj_idt14=INF.27.X&searchForm%3Aj_idt17=&searchForm%3Aj_idt21=&searchForm%3Aj_idt23=&searchForm%3Aj_idt25=&searchForm%3Aj_idt27=&searchForm%3Aj_idt29=&searchForm%3Aj_idt31=&searchForm%3Aj_idt33=&searchForm%3Aj_idt35=&searchForm%3Aj_idt40=&searchForm%3Aj_idt42=&searchForm%3Aj_idt44=&javax.faces.source=searchForm%3Aj_idt14%3A0&javax.faces.partial.event=click&javax.faces.partial.execute=searchForm%3Aj_idt14%20searchForm&javax.faces.partial.render=searchForm&javax.faces.behavior.event=valueChange&javax.faces.partial.ajax=true

如果我再选择一个复选框,则执行该操作。这是第二个请求的请求主体:

searchForm=searchForm&searchForm%3Aj_idt14=INF.27.X&searchForm%3Aj_idt17=&searchForm%3Aj_idt21=&searchForm%3Aj_idt23=&searchForm%3Aj_idt25=&searchForm%3Aj_idt27=&searchForm%3Aj_idt29=&searchForm%3Aj_idt31=&searchForm%3Aj_idt33=&searchForm%3Aj_idt35=&searchForm%3Aj_idt40=&searchForm%3Aj_idt42=&searchForm%3Aj_idt44=&javax.faces.ViewState=-2850678035461429390%3A7352800471989777110&javax.faces.source=searchForm%3Aj_idt14%3A0&javax.faces.partial.event=click&javax.faces.partial.execute=searchForm%3Aj_idt14%20searchForm&javax.faces.partial.render=searchForm&javax.faces.behavior.event=valueChange&javax.faces.partial.ajax=true

我能识别的唯一区别是第二个请求包含以下参数:

&javax.faces.ViewState=-2850678035461429390%3A7352800471989777110

你们中有谁知道问题是什么或我必须做些什么来解决这个问题?

0 个答案:

没有答案