在一个简单的jsf2.0应用程序中,我收到此异常:javax.faces.application.ViewExpiredException无法恢复视图。
在控制台中我收到以下错误: org.portletfaces.bridge.BridgeException:必须先调用setPortletContext(PortletContext)
当我在不使用Primefaces jar的情况下执行我的应用程序时,它正常工作。但是在addind Primefaces jar之后我开始得到这个例外。
我正在使用Tomcat 7.2。 编辑:应用程序中只有3个页面,没有支持bean ..第一页上的链接正在调用第二页。但是,当我点击链接时,我收到此错误,并且不显示第二页。 无法理解问题的原因。请帮忙。
答案 0 :(得分:2)
应用程序中只有3个页面,没有支持bean。第一页上的链接正在调用第二页。但是,当我点击链接时,我收到此错误,并且不显示第二页。
如果您通过UICommand
链接/按钮导航,就会发生这种情况。你根本不应该通过POST链接/按钮导航,而只需通过GET链接/按钮。
将普通UICommand
链接/按钮错误地用于页面到页面导航的所有UIOutcomeTarget
链接/按钮替换掉。换句话说,将<h:commandButton>
替换为<h:button>
,将<h:commandLink>
和<p:commandLink>
替换为<h:link>
,将<p:commandButton>
替换为<p:button>
。
即。不要使用
<h:form>
<p:commandButton value="Go to next page" action="nextpage" />
</h:form>
但请改用
<p:button value="Go to next page" outcome="nextpage" />