我正在使用Primefaces 3.4.1,Jboss AS 7.1和MyFaces CODI编写应用程序。我得到的问题是我正在使用CODI提供的对话范围,并且一旦对话结束,我需要一种处理浏览器后退按钮的方法。在jsf 2.0中重定向浏览器后退按钮
更多precisely-在对话结束,并且用户在不同的页面(想想就像一个向导,整理并作出承诺数据库),如果后退按钮被按下我收到以下异常:
javax.ejb.EJBTransactionRolledbackException
理想情况下,由于会话完成,我希望这个重定向回其他页面(菜单,仪表板)。
这可以通过JSF 2.0导航规则完成吗?
编辑:
我创建了一个导航规则是这样的:
<navigation-rule>
<from-view-id>/page1.xhtml</from-view-id>
<navigation-case>
<from-outcome>outcome1</from-outcome>
<to-view-id>/page2.xhtml</to-view-id>
<redirect/>
</navigation-case>
<navigation-case>
<from-outcome>*</from-outcome>
<to-view-id>/dashboard.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
希望这将使重定向,如果我们按后退按钮dashboard.xhtml。我认为当你按下它时,在后端会有不同的动作。很明显,我错了。使用这些情况下,可以通过bakc按钮发送任何内容吗?可能与标签?
更新1:
显然来自浏览器的后退按钮将不会触发JSF导航情况。它清楚它会触发什么?我实施了以下过滤器:https://stackoverflow.com/a/10305799/1611957现在它会触发什么?这是否使捕捉它的工作更容易?
我不确定CODI会起什么作用,但我可以告诉你后退按钮不会触发JSF导航过程 – kolossus
因此,JSF导航过程不是那么顺利。任何其他想法? – bjedrzejewski