我想将托管会话Bean注入JSF中的实体。
我有一个要求,在这里,我需要显示不同的状态文本,根据用户选择的地区在前端。(国际化)对于一个状态ID,我有4个状态文本,即StatusText、StatusTextLang1、StatusTextLang2、StatusTextLang3。
为了支持这个特性,我正在修改StatusText属性的getter方法。在这里,我想从SessionBean获取区域设置。因为它是一个实体,所以我得到了一个空sessionBean。
@Entity
@Table(name="Projektstati")
public class Projektstati implements Serializable{
@ManagedProperty("#{sessionBean}")
private SessionBean sessionBean;
public void setSessionBean(SessionBean sessionBean){this.sessionBean = sessionBean;}
发布于 2015-07-09 09:53:56
我检查了几个选项,并按照计划完成了。
FacesContext facesContext = FacesContext.getCurrentInstance();
sessionBean = (SessionBean) facesContext.getApplication()
.getVariableResolver().resolveVariable(facesContext, "sessionBean");
这可能不是一个伟大的设计,但肯定是一个快速的解决方案。
https://stackoverflow.com/questions/31310912
复制相似问题