我需要在我的JSF应用程序的会话范围中只保留一个对象.我在哪里定义会话变量,如何从视图文件或辅助bean中获取和设置它?
Bal*_*usC 30
几种方式:
使用 ExternalContext#getSessionMap()
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
Map<String, Object> sessionMap = externalContext.getSessionMap();
sessionMap.put("somekey", yourVariable);
Run Code Online (Sandbox Code Playgroud)
然后是:
SomeObject yourVariable = (SomeObject) sessionMap.get("somekey");
Run Code Online (Sandbox Code Playgroud)或者,将它作为会话范围bean的属性,您将其注入请求范围的bean中.
sessionBean.setSomeVariable(yourVariable);
Run Code Online (Sandbox Code Playgroud)
然后是:
SomeObject yourVariable = sessionBean.getSomeVariable();
Run Code Online (Sandbox Code Playgroud)
如此处所@SessionScoped
描述的,或者如果您已经使用JSF 2.0,则可以在彼此中注入bean@RequestScoped
@Inject
private SessionBean sessionBean;
Run Code Online (Sandbox Code Playgroud)
同
@ManagedProperty("#{sessionBean}")
private SessionBean sessionBean; // +getter+setter
Run Code Online (Sandbox Code Playgroud) 归档时间: |
|
查看次数: |
52554 次 |
最近记录: |