在包含prettyfaces之后,Command按钮不会调用它的action方法

时间:2014-10-22 02:42:45

标签: jsf-2 primefaces prettyfaces

我最近在我的webapp中嵌入了prettyfaces,现在我的行​​为非常奇怪。

我有一个带有命令按钮的更新用户表单:commmandbutton看起来像是跟随。

命令链接和命令按钮都不会调用bean中的action方法。 我的bean是一个View-Scoped bean。

当我单击按钮时,页面只是重新加载,并且不会调用定义为被调用的动作!简单地说,只是页面重新加载执行。

<p:commandButton style=" float: right; margin-left: 10px; " id="saveEditUser" update=":form" value="Save" action="#{editUser.updateUser()}"  ajax="false" />

但是,当我删除prettyfaces中的相关行时,我的页面才能找到。 (以下是我在与编辑用户相关的Prettyfaces中定义的内容)

<url-mapping id="EditUser" onPostback="false">
    <pattern value="/User/Edit/#{initalUserName}" />
    <view-id value="/user/EditUser.xhtml" />
</url-mapping>

2 个答案:

答案 0 :(得分:0)

点击按钮后,方法editUser.updateUser()真的被调用了吗? (使用断点确保)

我的猜测是你的映射应该是:

<url-mapping id="EditUser" onPostback="false">
    <pattern value="/User/Edit/#{initalUserName}" />
    <view-id value="/user/EditUser.jsf" />
</url-mapping>

请注意.xhtml替换为.jsf

答案 1 :(得分:0)

通过对漂亮的脸部进行更改,它现在可以正常工作。

<url-mapping id="EditUser" onPostback="false">
    <pattern value="/EditUser/" />
    <view-id value="/user/EditUser.xhtml" />
            <query-param name="initalUserName"> #{editUser.initalUserName} </query-param>
</url-mapping>

注意:即使我在没有反斜杠的情况下再次更改同样的问题也会发生。