【发布时间】:2014-07-30 00:45:05
【问题描述】:
我有一个 jsf 1.2 应用程序,在索引页中有一些链接。此链接通过点击打开,在新的 jquery 对话框中。每个链接都会在不同的对话框中打开我的应用程序的新页面,因此,应用程序可以在单个页面的多个对话框中打开多个链接。我所有的托管 bean 都有会话范围。
我的问题是,当我打开一个新对话框并单击其中的任何链接时,我的应用程序仍然可以正常工作,但是在此之后,如果我单击索引页面中的其他链接以打开另一个对话框,应用程序会向我显示ViewExpiredException。我尝试将我的 jsf 更新为 2.0,将 web.xml 中的 EnableRestoreView11Compatibility 设置为 true,在我的 bean 中使用 keepAlive,但没有任何效果。
我认为它的发生是因为我有一个具有一种状态的主页,当我单击以在 jquery 对话框中打开一个新页面时,它会加载整个页面并将 html 放入其中。因此,请求没有参考主页的状态。我该如何解决这个问题?
【问题讨论】:
-
你在使用
吗?您是在单击链接时拨打服务电话还是只是将静态页面显示为弹出窗口? -
嗨@Dinal,感谢您的回答。我正在使用一个函数来打开对话框。此函数创建一个 div,用其他页面填充它并打开 jquery 对话框。我正在使用 a4j:commandButton。是的,该页面是一个发送到服务器的 jsp 页面。
-
我认为它是一个纯 JavaScript 功能。如果您不使用任何 actionListener 调用,为什么要使用richfaces。普通的 标签将服务于目的 rt?
-
不,因为我的托管 bean 中有一个 actionListener 方法可以在用户单击链接时执行一些操作。我的 a4j:commandLink 有一个 actionListener 来处理请求和一个 oncomplete 来调用 javascript 函数。
-
看看这个来自@BalusC stackoverflow.com/questions/11408130/…的答案
标签: java jquery jsf jsf-1.2 viewexpiredexception