由于空指针异常,无法实例化Bean

时间:2015-05-05 17:00:53

标签: jsf nullpointerexception javabeans

我正致力于将JSF网络应用程序国际化。我有一个存储语言环境的SessionScoped bean(StringBean.java),我在其他SessionScoped bean中调用这个bean来检索语言环境并获得正确的资源包。在其他bean中使用StringBean看起来像:

@ManagedBean(name="samlBean")
public class SAMLBean extends BaseBean {

    @ManagedProperty(value="#{stringbean}")
    private StringBean stringBean;    

    // getters and setters


    public void someMethod(){
        Locale currentLocale = new Locale(stringBean.getLanguageCode(), stringBean.getCountryCode());
        ResourceBundle errors = ResourceBundle.getBundle("com.resources.MessagesBundle", currentLocale);

       // use resource bundle to get string in right locale
     }

这在几个没有问题的bean中运行得很好。但是,我也试图以完全相同的方式在RequestScoped bean中使用StringBean,但是在浏览到特定页面时出现以下错误:

Servlet.service() for servlet [Faces Servlet] in context with path [/Federation] threw exception [Cant instantiate class: com.federation.beans.ConnectionBean.] with root cause java.lang.NullPointerException

空指针发生在RequestScoped bean的构造函数中,构造函数中的方法正在调用:

Locale currentLocale = new Locale(stringBean.getLanguageCode(), stringBean.getCountryCode());

由于某种原因,StringBean对象为null,即使我已导航到其中StringBean不为null且资源包正在工作的其他页面。

我尝试测试如果我将RequestScoped bean放入SessionScoped bean会发生什么,但它仍然无效。

任何人都可以提供任何有关正在发生的事情的见解或建议,以及我如何解决这个问题?

0 个答案:

没有答案
相关问题