问题标签 [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.
jsf - ViewExpiredException 错误页面未显示
我用表单打开了一些选项卡,当我按下命令按钮时(会话过期一段时间后)我收到一个 java 脚本警报,说:
serverError: class javax.faces.application.ViewExpiredException viewId:/register.xhtml - 无法恢复视图 /register.xhtml。
在 firefox 上(本地 glassfish 4)
我已经添加了 :
在我的web.xml
但我没有被重定向到我的索引。这是为什么 ?
编辑:示例按钮
UserController 是 ViewScoped
jsf-2 - 错误页面未显示 FullAjaxExceptionHandler
我在这里搜索了几乎所有关于 FullAjaxExceptionHandler 的问题,但没有一个能解决我的问题。
好吧,我已经实现了 FullAjaxExceptionHandler 但它不适用于 ajax 请求。如果请求不是 Ajax,它可以正常工作并重定向到过期页面,但如果是 Ajax,页面会变为空白,我得到:
ps 我确定我不会手动将其重定向到其他地方。
编辑:我尝试了一种使用自定义 ViewExpiredException 的方法
它适用于 Ajax 和非 Ajax 请求。但我仍然想使用omnifaces方法
更新更改一些日志后,当页面在重定向后变为空白时,我得到了这个消息:
我不认为这是问题,但我也不知道为什么 FullAjaxExceptionHandler 会发生而 ViewExpiredException 不会。
Edit2:现在 expired.xhtml 是:
而且我仍然没有被重定向,但现在页面不会变成空白。该页面保持在同一页面,我得到:
重定向之前可能有问题?
jsf - 登录后立即查看ExpiredException
我读到这是会话过期的问题,但在我的情况下这是不可能的,因为在抛出异常时会话刚刚打开:我进入登录页面,填写表格并提交。之后我得到ViewExpiredException
. 我能做些什么来解决这个问题?
这是我的web.xml
:
java - JSF 中的 Ajax 表单更新显示 ViewExpiredException
我有一个 jsf 1.2 应用程序,索引页面中有一些链接。此链接通过点击打开,在新的 jquery 对话框中。每个链接都会在不同的对话框中打开我的应用程序的新页面,因此,应用程序可以在单个页面的多个对话框中打开多个链接。我所有的托管 bean 都有会话范围。
我的问题是,当我打开一个新对话框并单击其中的任何链接时,我的应用程序仍然可以正常工作,但是在此之后,如果我单击索引页面中的其他链接以打开另一个对话框,应用程序会显示一个ViewExpiredException
. 我已经尝试将我的 jsf 更新到 2.0,设置EnableRestoreView11Compatibility
为web.xml
true,keepAlive
在我的 bean 中使用,但没有任何效果。
我认为它的发生是因为我有一个具有一种状态的主页,当我单击以在 jquery 对话框中打开一个新页面时,它会加载整个页面并将 html 放入其中。因此,请求没有参考主页的状态。我该如何解决这个问题?
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
java - 强制执行 javax.faces.application.ViewExpiredException 以测试应用程序
我想测试我的 web 应用程序(JSF 2.2),它有一个自定义的 Esxception 处理程序工厂。现在我想知道当抛出 javax.faces.application.ViewExpiredException 时一切是否正常。有什么办法可以减少等待获得此异常的时间吗?以编程方式抛出它不是一种选择,因为我希望有一个几乎 100% 的生产测试场景。
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
没有显示的内容?
jsf - 仅在特定 Web 浏览器中 WildFly 服务的 Web 应用上的 ViewExpiredException
我有一个在 Wildfly 8.1.0Final 上运行的 jsf 应用程序,并且仅在 Google Chrome 中,当我单击登录按钮时,我收到 ViewExpiredException,在其他浏览器中或在 Chrome 隐身模式下,完美运行!
有人知道可能是什么吗?
我的 pom.xml:
还有我的登录页面:
有人可以帮助我吗?
谢谢你的帮助!
jsf - 为什么我在 ViewExpiredException 后重定向时登录页面中的字段会消失?
我将以下行添加到 web.xml
当会话到期时重定向到登录页面,它实际上正在重定向,但字段名称和密码以及“fazer login”按钮消失:
下面是登录页面中的相关代码:
nullpointerexception - JSF 会话超时 NPE 而不是 ViewExpiredException
JSF(jboss - 2.2.6),AS Wildfly 8.1.0,Deltaspike 1.0.3
会话过期后,按下按钮(ajax 调用)。问题是抛出了 NullPointerExceptiion 而不是 ViewExpiredException。
有一个ExceptionHandlerWraper。
FacesException 由以下方式处理:
这是堆栈: