我编写了一个jsf应用程序,该应用程序将数据插入mysql数据库,并在另一页中显示一些插入的详细信息。
我已成功将值插入数据库,但是即使编写了导航规则也无法重定向到其他页面。
我的动作代码
<div align="center"><p:commandButton label="Submit" action="#{userData.add}" align="center" ajax="false" /></div>
导航规则
<managed-bean>
<managed-bean-name>UserData</managed-bean-name>
<managed-bean-class>userData.UserData</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<navigation-rule>
<display-name>home.xhtml</display-name>
<from-view-id>/home.xhtml</from-view-id>
<navigation-case>
<to-view-id>/badge.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
如果我将face-redirect写入true,则显示错误,或者如果将操作写入另一页,则其未将值插入数据库。
停止阅读JSF 1.x资源,并摆脱所有JSF 1.x样式<managed-bean>
和中的<navigation-rule>
条目faces-config.xml
。
适用于您的JSF 2.x方法action="#{userData.add}"
如下:
@ManagedBean
@ViewScoped
public class UserData {
public String add() {
// ...
return "/badge.xhtml?faces-redirect=true";
}
}
无需其他XML混乱。也没有动作监听器。
在我们的JSF Wiki页面上可以找到指向JSF 2.x教程/书籍的链接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句