java - JSF - 由不同机器上的浏览器共享的 session 作用域 bean

标签 java session jsf

我们有一个搜索表单,其中过滤器绑定(bind)到托管 bean( session 范围)上的属性。它不是组件绑定(bind),它的属性绑定(bind)像 <h:inputText value="#{searchBean.filter}"/> .

从不同机器(然后是不同 session )提交的数据混合在一起。你搜索“john”,得到“mary”只是因为你旁边的人刚刚搜索了“mary”。你的值(value)searchBean.filter得到的是提交的数据,而不是你的。

我已经在谷歌上搜索了很多,但没有找到解决方案,只是出现了 same problem .

有人遇到过这个问题吗?有什么线索吗?

谢谢!

最佳答案

这可能有两个原因:

  1. 该 bean 实际上在应用程序范围内。
  2. 相关属性声明为static

要修复 1),只需确保它在 session 范围内即可。
要修复 2),只需删除非法修饰符即可。

关于java - JSF - 由不同机器上的浏览器共享的 session 作用域 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1770610/

相关文章:

java - 从 HashMap 中删除所有值但保留键?

java - 对于这个层次结构来说,最好的基于对象的数据结构是什么?

session - Node.js 和 Express session 处理 - 后退按钮问题

google-app-engine - 针对某些请求关闭 AppEngine (Java) session

css - 在 Primefaces Grid CSS 中支持偏移列 StyleClass?

javascript - 带有 h :commandButton 动态消息内容的确认对话框

java - Jadclipse 无法在 Eclipse Kepler SR2 中工作

java - 如何使用 Java API 从 Picasa 获取具有特定标题的照片

javascript - 如何处理浏览器多选项卡中的用户注销?

jsf - 无法在 HttpSessionListener 中注入(inject) CDI @SessionScoped