java - session 范围 bean - 如何处理多用户数据

标签 java jsf jsf-2 javabeans session-scope

我已经使用 JSF 2.0 创建了一个 Web 应用程序。我到处都使用了 session 范围bean,因此我遇到了问题。 :( 我将用下面的例子来解释。

我在数据表中有用户列表。当我单击用户时,我会看到该用户的详细信息。现在,当我右键单击用户 A 并单击在新选项卡中打开时,我会在新选项卡中看到用户 A 的详细信息。

现在,当我右键单击用户 B 并单击“在新选项卡中打开”时,我会看到用户 B 的详细信息。

但是,当我进入选项卡(其中有用户 A 的详细信息)并刷新该页面时,我会看到用户 B 的详细信息。

如何克服这个问题,以便如果我刷新页面,我仍然会看到用户 A 而不是用户 B 的详细信息。

最佳答案

将 bean 放入 View 范围内。

打开详细信息页面时,您应该发送 GET 请求,而不是 POST 请求。使用普通<h:link>它通过 <f:param> 将用户标识符作为请求参数传递并在目标 View 中有一个转换器将其转换为正确的模型值。

session 范围应仅用于 session 范围的数据,例如登录的用户及其首选项。

另请参阅:

关于java - session 范围 bean - 如何处理多用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13565321/

相关文章:

java - 在 Android 应用程序中获取用户输入以更改 TextView 文本

java - 线程中出现异常 "main"java.lang.ClassNotFoundException : oracle. jdbc.OracleDriver

java - :inputTextarea doesn't work in rich faces

java - a4j :commandLink stops working after being reRender

jsf-2 - h :selectManyMenu 的替代方案

java - 使用 ZipOutputStream 损坏的 zip 文件

java - 如何重构仅在调用 java 中的对象时调用的方法不同的方法?

javascript - 在基于 JSF 1.1 的 Web 应用程序中缩小 js 和 css 的最佳方法

jsf - JSF:检查=“id”/> <h:message是否存在的更好方法

JSF2 无法从 ViewScoped 作为 ManagedProperty 访问 SessionScoped bean