问题标签 [viewexpiredexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4430 浏览

jsf - ViewExpiredException 错误页面未显示

我用表单打开了一些选项卡,当我按下命令按钮时(会话过期一段时间后)我收到一个 java 脚本警报,说:

serverError: class javax.faces.application.ViewExpiredException viewId:/register.xhtml - 无法恢复视图 /register.xhtml。

在 firefox 上(本地 glassfish 4)

我已经添加了 :

在我的web.xml但我没有被重定向到我的索引。这是为什么 ?

编辑:示例按钮

UserController 是 ViewScoped

0 投票
1 回答
2063 浏览

jsf-2 - 错误页面未显示 FullAjaxExceptionHandler

我在这里搜索了几乎所有关于 FullAjaxExceptionHandler 的问题,但没有一个能解决我的问题。

好吧,我已经实现了 FullAjaxExceptionHandler 但它不适用于 ajax 请求。如果请求不是 Ajax,它可以正常工作并重定向到过期页面,但如果是 Ajax,页面会变为空白,我得到:

ps 我确定我不会手动将其重定向到其他地方。

编辑:我尝试了一种使用自定义 ViewExpiredException 的方法

它适用于 Ajax 和非 Ajax 请求。但我仍然想使用omnifaces方法

更新更改一些日志后,当页面在重定向后变为空白时,我得到了这个消息:

我不认为这是问题,但我也不知道为什么 FullAjaxExceptionHandler 会发生而 ViewExpiredException 不会。

Edit2:现在 expired.xhtml 是:

而且我仍然没有被重定向,但现在页面不会变成空白。该页面保持在同一页面,我得到:

重定向之前可能有问题?

0 投票
1 回答
711 浏览

jsf - 登录后立即查看ExpiredException

我读到这是会话过期的问题,但在我的情况下这是不可能的,因为在抛出异常时会话刚刚打开:我进入登录页面,填写表格并提交。之后我得到ViewExpiredException. 我能做些什么来解决这个问题?

这是我的web.xml

0 投票
1 回答
363 浏览

java - JSF 中的 Ajax 表单更新显示 ViewExpiredException

我有一个 jsf 1.2 应用程序,索引页面中有一些链接。此链接通过点击打开,在新的 jquery 对话框中。每个链接都会在不同的对话框中打开我的应用程序的新页面,因此,应用程序可以在单个页面的多个对话框中打开多个链接。我所有的托管 bean 都有会话范围。

我的问题是,当我打开一个新对话框并单击其中的任何链接时,我的应用程序仍然可以正常工作,但是在此之后,如果我单击索引页面中的其他链接以打开另一个对话框,应用程序会显示一个ViewExpiredException. 我已经尝试将我的 jsf 更新到 2.0,设置EnableRestoreView11Compatibilityweb.xmltrue,keepAlive在我的 bean 中使用,但没有任何效果。

我认为它的发生是因为我有一个具有一种状态的主页,当我单击以在 jquery 对话框中打开一个新页面时,它会加载整个页面并将 html 放入其中。因此,请求没有参考主页的状态。我该如何解决这个问题?

0 投票
2 回答
1199 浏览

jsf - 会话过期后在@ViewScoped bean 中恢复请求参数

我有一个页面,其设置如下,网址如下my.page.com/table.xhtml?id=123

id=123是控制结果表内容的请求参数。所有操作仅使用重新加载数据表AJAX

id通过这个加载:

这一切都很好,直到会话到期。在这一点上,没有任何效果。我无法获取数据,因为我不再有权访问相关id问题和调用DAO没有这个。

通过“不再有权访问id”我的意思是:

返回null。此外,int id来自我的支持 bean(o:viewParam通过f:metadata加载)也遭受了同样的命运。

我知道有一些方法可以捕获 a ViewExpiredException,但这不是我想要的。我需要页面使用请求参数简单地重新加载所有值(在这种情况下id在用户不知情的情况下使用请求参数(在本例中)简单地重新加载所有值。

我(想我)需要一个@ViewScoped管理 bean 来控制这个复杂的表和所有参数等。

我对此感到茫然。我尝试构建自己的ViewHandler以尝试让它简单地重建(模仿刷新)页面,并尝试使用PrimeFaces ajaxExceptionHandler其他解决方案。但是所有这些都会出错并显示它。我只想my.page.com/table.xhtml?id=123从支持 bean 访问我的请求参数。

任何帮助,将不胜感激。

我正在运行:

  • 雄猫 7
  • 莫哈拉 2.2.6
  • 全方位 1.8.1
  • Primefaces 5.0
0 投票
3 回答
1165 浏览

java - 强制执行 javax.faces.application.ViewExpiredException 以测试应用程序

我想测试我的 web 应用程序(JSF 2.2),它有一个自定义的 Esxception 处理程序工厂。现在我想知道当抛出 javax.faces.application.ViewExpiredException 时一切是否正常。有什么办法可以减少等待获得此异常的时间吗?以编程方式抛出它不是一种选择,因为我希望有一个几乎 100% 的生产测试场景。

0 投票
0 回答
925 浏览

jsf - 错误页面因 XML 解析错误而失败:找不到元素位置:http://localhost:8080/3c/login/Login.xhtml 第 1 行,第 1 列

我想处理ViewExpiredException非 ajax 请求(PrimeFaces with ajax="false")。我在该异常上配置了一个错误页面web.xml

当视图过期异常发生时,会记录以下内容:

严重:servlet [Faces Servlet] 在路径 [/3c] 的上下文中的 Servlet.service() 引发异常 [viewId:/login/Login.xhtml - View /login/Login.xhtml 无法恢复。] 根本原因 javax .faces.application.ViewExpiredException: viewId:/login/Login.xhtml - 查看 /login/Login.xhtml 无法恢复。在 com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:205) 在 com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 在 com.sun.faces.lifecycle.RestoreViewPhase.doPhase (RestoreViewPhase.java:116) 在 com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 在 javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) 在 org.apache.catalina。 core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 在 org.apache.catalina.core。

但是,浏览器显示的不是错误页面内容,而是带有消息的黄页:

XML 解析错误:未找到元素
位置:http ://example.com:8080/3c/login/Login.xhtml第 1 行,第 1 列:

为什么/errorpages/expired.xhtml没有显示的内容?

0 投票
2 回答
4280 浏览

jsf - 仅在特定 Web 浏览器中 WildFly 服务的 Web 应用上的 ViewExpiredException

我有一个在 Wildfly 8.1.0Final 上运行的 jsf 应用程序,并且仅在 Google Chrome 中,当我单击登录按钮时,我收到 ViewExpiredException,在其他浏览器中或在 Chrome 隐身模式下,完美运行!

有人知道可能是什么吗?

我的 pom.xml:

还有我的登录页面:

有人可以帮助我吗?

谢谢你的帮助!

0 投票
1 回答
206 浏览

jsf - 为什么我在 ViewExpiredException 后重定向时登录页面中的字段会消失?

我将以下行添加到 web.xml

当会话到期时重定向到登录页面,它实际上正在重定向,但字段名称和密码以及“fazer login”按钮消失: 在此处输入图像描述 在此处输入图像描述

下面是登录页面中的相关代码:

0 投票
1 回答
821 浏览

nullpointerexception - JSF 会话超时 NPE 而不是 ViewExpiredException

JSF(jboss - 2.2.6),AS Wildfly 8.1.0,Deltaspike 1.0.3

会话过期后,按下按钮(ajax 调用)。问题是抛出了 NullPointerExceptiion 而不是 ViewExpiredException。

有一个ExceptionHandlerWraper。

FacesException 由以下方式处理:

这是堆栈: