在h:commandButton操作之前调用Seam页面操作

时间:2015-12-03 20:28:07

标签: jsf seam jsf-1.2 ajax4jsf seam2

我在updatePerson.xhtml中使用了这个h:commandButton来更新人员信息,但是当我点击它时,正在调用页面操作方法(controller.preUpdatePerson),就像我再次进入此页面一样。我对此页面操作的调用更加迷失,因为此时controller.preUpdatePerson中的对象为空,然后在此处停止。

从不调用

controller.update。 我不知道为什么会这样。所有实体和控制器都在会话范围内。我尝试了很多组合,它似乎不是一个交易问题。那么这里发生了什么?

系统规格:Seam 2.2.2 JSF 1.2

pages.xml中:

    <page view-id="/updatePerson.xhtml">
        <action execute="#{controller.preUpdatePerson}" on-postback="false" />
        <begin-conversation join="true" flush-mode="manual"/>

updatePerson.xhtml:

<a4j:form id="editPerson" styleClass="inline" enctype="multipart/form-data">
<h:commandButton id="editPerson" value="#{messages['button.save']}" 
                    action="#{controller.update}"/>
...

1 个答案:

答案 0 :(得分:0)

根据这个答案commandButton/commandLink/ajax action/listener method not invoked or input value not updated,当页面提交要上传的文件时,我的问题与enctype =“multipart / form-data”有关。 我必须在web.xml中正确配置过滤器。