如何将值从@ApplicationScoped传递到@ViewScoped?

时间:2018-10-16 01:48:39

标签: java jsf primefaces

当尝试传递值时,我收到此错误:

  

javax.servlet.ServletException:javax.servlet.ServletException:无法创建托管bean createController。发现以下问题:

     

托管Bean createController的属性configMB不存在。检查是否存在适当的getter和/或setter方法。

     

由表达式#{configMB}请求所引用的对象的范围比在org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java: 138)

是否可以将值从@ApplicationScoped传递给@ViewScoped?

1 个答案:

答案 0 :(得分:0)

您可以将长寿命豆注入短寿命豆中。 (反之亦然)

@ApplicationScoped
public class AppBean {

    private Object someValue;

    //getters
} 

@ViewScoped
public class ViewBean {

    @Inject
    private AppBean appBean;

    public void sendForm() {
       Object value = appBean.getSomeValue();
       // do things...
    }
}