jsf中如何在一个后台bean中访问另一个后台bean

/**
 * 根据 faces-confis.xml 中的 Managed Bean
的名称,来获取当前 FacesContext 中的相应 Managed Bean
 *
* @param beanName El表达式 ,例如: #{backingBean}
* @return the managed bean associated with the bean name
 */
public static Object getManagedBean(String beanName) {
                return getValueBinding(beanName).
getValue(FacesContext.getCurrentInstance());

 

}

private static ValueBinding getValueBinding(String el) {
        return getApplication().createValueBinding(el);

 

}

private static Application getApplication() {
        ApplicationFactory appFactory = (ApplicationFactory) FactoryFinder
                        .getFactory(FactoryFinder.APPLICATION_FACTORY);
        return appFactory.getApplication();

 

}

通过Application创建一个ValueBinding对象,这个对象能够和资源文件联系起来,通过它的getValue()方法反转­得到一个Java Object实例。我们在引用时再转换成我们需要的类型即可。


FacesContext context = FacesContext.getCurrentInstance();
     ValueBinding vb = context.getApplication().createValueBinding("#{SoCreator.conumber}");
     vb.setValue(context,co);
  • 1
    点赞
  • 1
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值