【发布时间】:2023-04-09 11:30:01
【问题描述】:
是否可以在 JSF2 中从自定义组件(在方法 encodeBegin 中)访问 FacesContext 和托管 bean?
谢谢。
【问题讨论】:
标签: java jsf-2 managed-bean custom-component
是否可以在 JSF2 中从自定义组件(在方法 encodeBegin 中)访问 FacesContext 和托管 bean?
谢谢。
【问题讨论】:
标签: java jsf-2 managed-bean custom-component
是的。更重要的是,FacesContext 可用作encodeBegin() 方法的方法参数。
然后,要访问托管 bean,请使用 Application#evaluateExpressionGet()。
Bean bean = (Bean) context.getApplication().evaluateExpressionGet(context, "#{beanName}", Bean.class);
【讨论】:
public Object getSessionBean(String beanName) {
FacesContext 上下文 = FacesContext.getCurrentInstance();
sessMap = context.getExternalContext().getSessionMap();
返回 sessMap.get(BeanName);
}
【讨论】: