java - 如何检查 JSF 页面中是否存在 Activity session ?

标签 java session jsf session-timeout

有没有一种方法可以直接在jsf页面中检查是否有 Activity session ? 我试过这个但它不起作用:

<p:ajaxStatus onerror="#{session == null ? 'idleDialog.show();' : null}"

提前谢谢你

@更新 我已经看到即使发生 viewExpiredException 也不会触发 onerror。

最佳答案

在评估 EL 时始终存在 Activity session 。如果在打开页面之前没有,则会自动创建。

在 JSF 中,到期 session 是一个问题,因为所谓的“状态保存方法”。默认情况下,生成页面的状态存储在 session 中。如果您尝试提交表单并且 session 已过期,则状态将丢失并因此发生错误。

但即使在那种情况下,也会生成一个新 session 。因此,正如 BalusC 指出的那样,您可以使 session 保持 Activity 状态 - 使用 ajax 请求进行轮询(例如 richfaces 具有此类功能),以便 session 永不过期

关于java - 如何检查 JSF 页面中是否存在 Activity session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4706026/

相关文章:

java - Fragment 正在尝试转换为 Activity

java - 哪个热键在 Eclipse 中生成 incode 注释?

jsf - jsf/primeface 有没有办法下载文件然后更改页面?

java - 无法使用java通过脚本执行maven命令

PHP Youtube API上传视频代码示例上传两次

windows - 使用 aspnet_state 服务的 session 损坏

javascript - mvc session 过期后,如何使整个页面重定向到登录?

用于身份验证和导入联系人的 Java 库

eclipse - Eclipse 中的 Tomcat 启动 JSF 项目失败

java - 调用 Oracle 存储过程抛出由 : java. sql.SQLException 引起的异常:无效的列类型:1111