我最近在我的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>
答案 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>
注意:即使我在没有反斜杠的情况下再次更改同样的问题也会发生。