在@RequestScoped bean中,我需要另一個@ViewScoped bean。ManagedProperty/Bean注入導致NullPointer
所以,我想:
@ManagedBean
@RequestScoped
public class RequestBean
{
@ManagedProperty(value = "#{viewBean}")
private ViewBean viewBean;
public void setViewBean(...){...}
public void doSomething(){
// ...
}
}
的方法DoSomething的()是由一個名爲buttonClick和執行一些ImageStreaming(這是我的豆的原因而RequestScoped)。 注射本身放在第一位工作正常,但只要DoSomething的()被調用,我得到這個異常:
com.sun.faces.mgbean.ManagedBeanCreationException: Could not determine property viewBean for managed bean requestBean
(翻譯的郵件,可能會略有不同)
at com.sun.faces.mgbean.ManagedBeanBuilder$BakedBeanProperty.set(ManagedBeanBuilder.java:615)
...
Caused by: java.lang.NullPointerException
at com.sun.faces.mgbean.BeanManager$ScopeManager$ViewScopeHandler.getFromScope(BeanManager.java:563)
...
......當你忘記執行setter方法時,這幾乎是相同的。 這裏有什麼問題?
嘗試把一個getter方法注入的bean。 –
獲得者已經存在。 –
您的ViewBean名稱爲「viewBean」嗎?默認情況下它應該是..但是請嘗試@ManagedBean(name =「viewBean」) –