2017-08-24 3 views
1

私はJSF 2.2のプロジェクトでsessionScoped ManagedBeanを持っていると私はこれが私の最初のsessionScoped Beanです@ManagedPropertyとして別のManagedBeanを起動したいと思います:JSF ManagedProperty NullPointerExceptionが

public class MainWorkerMB implements Serializable { 

    /** 
    * 
    */ 
    private static final long serialVersionUID = 1L; 


    @ManagedProperty("#{fragmentHandlerMB}") 
    private FragmentHandlerMB fragmentHandlerMB; 

    public FragmentHandlerMB getFragmentHandlerMB() { 
     return fragmentHandlerMB; 
    } 

    public void setFragmentHandlerMB(FragmentHandlerMB fragmentHandlerMB) { 
     this.fragmentHandlerMB = fragmentHandlerMB; 
    } 

    public void search() { 

     fragmentHandlerMB.changeFrag("search_result.xhtml" , "Result Page" , -1); 

    } 

これは、これはまたsessionScoped私の別のBeanです。その後

@ManagedBean(eager=true) 
@SessionScoped 
public class FragmentHandlerMB implements Serializable { 

@PostConstruct 
    public void init() { 
     log.info("constructed.."); 
     // other code parts // 

    } 

    public FragmentHandlerMB() { 
     super(); 
    } 

public void changeFrag(String fragToOpen, String fragToOpenName, int pageIndex) { 

//... 

} 
} 

私はNullPointerExceptionを得た私のsecound Beanメソッド呼び出ししようとすると:

Caused By: java.lang.NullPointerException 
    at com.kebodev.managed.MainWorkerMB.search(MainWorkerMB.java:29) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    Truncated. see log file for complete stacktrace 

私のbeanが存在しないようです。

私を助けることができますか? ありがとうございました!

答えて

1

私はfaces-config.xml全体<managed-bean>設定を削除することによって、それを解決し、私の両方ManagedBean.

@ManagedBean @SessionScoped注釈を追加します
関連する問題