我们有一个搜索表单,其中过滤器绑定(bind)到托管 bean( session 范围)上的属性。它不是组件绑定(bind),它的属性绑定(bind)像 <h:inputText value="#{searchBean.filter}"/>
.
从不同机器(然后是不同 session )提交的数据混合在一起。你搜索“john”,得到“mary”只是因为你旁边的人刚刚搜索了“mary”。你的值(value)searchBean.filter
得到的是他提交的数据,而不是你的。
我已经在谷歌上搜索了很多,但没有找到解决方案,只是出现了 same problem .
有人遇到过这个问题吗?有什么线索吗?
谢谢!
最佳答案
这可能有两个原因:
- 该 bean 实际上在应用程序范围内。
- 相关属性声明为
static
。
要修复 1),只需确保它在 session 范围内即可。
要修复 2),只需删除非法修饰符即可。
关于java - JSF - 由不同机器上的浏览器共享的 session 作用域 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1770610/