我们如何在 JSF 1.2 中处理 session 变量(添加/获取)?
一个场景:考虑一个用户登录成功的登录界面,用户模型存储在session中。用户模式包含用户角色。下次开始,对于每个用户操作,检查用户模型中的用户角色并相应地显示表单。在这种情况下,如何在 session 中添加用户模型以及如何每次从 session 中检索它?
以前我在 Struts 1.2 中工作,在 execute
方法中,我们有一个 request
e=,它用于获取 session 并访问 session 变量。但我不确定如何在 JSF 1.2 中实现相同的目标。
唯一可行的方法是在 faces-config.xml 文件的 session 范围内添加托管 bean 吗?
请帮助我了解 JSF 1.2 中的 session 处理概念。
最佳答案
session 范围可由 ExternalContext#getSessionMap()
以编程方式获得在幕后代表 HttpSession#get/setAttribute()
.
Map<String, Object> sessionMap = FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
// ...
您当然也可以只将托管 bean 放在 session 范围内。可以通过 <managed-property>
从其他托管 bean 访问它(或者只是使用托管 bean 名称作为映射键遍历 session 映射)。
关于java - JSF 1.2 中的 session 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16318477/