0
我正在JSF2 - Spring應用程序中使用自定義彈簧管理視圖作用域bean。我想將bean注入請求範圍bean。但是,它看起來像我每次調用請求範圍bean時都會獲取自定義視圖範圍bean的新實例。在JSF 2應用程序中注入彈簧自定義作用域bean
我的看法範圍bean是如下
@Component("registration")
@Scope("view")
public class RegistrationBean implements Serializable
我的請求範圍bean是如下
@Component("registrationController")
@Scope("request")
public class RegistrationController implements Serializable
{
@Autowired(required=false)
@Qualifier("registration")
private RegistrationBean registration;
.....
}
如果我讓直接在我的小面使用的視圖範圍bean的,我所有的值都保存。但是,如果我通過我的請求範圍bean訪問相同的值,則不會保留值。
基於我的研究,我可以看到JSF託管視圖範圍bean注入JSF託管請求範圍bean的示例,但是我找不到上述問題的任何實例。
瞭解這個問題的任何信息都非常感謝。提前致謝。
只是想補充一點,如果我將自定義視圖範圍bean轉換爲標準會話範圍bean,那麼一切正常。我可以從我的請求範圍bean中正確訪問它。 – user1159790 2012-03-07 01:00:24
您是否直接訪問Facelets中的View範圍的bean?如果你不這樣做,在你的請求範圍內Bean可能會創建一個新的實例(我不確定Spring是如何在JSF之上做的)。但是,與請求中創建的任何東西一樣,它會隨請求結束而被銷燬。下一個請求只需重新創建一個「註冊」的新實例。 – JScoobyCed 2012-03-07 01:19:02
我確實直接在我的facelets中訪問視圖範圍的bean。我想在執行操作時訪問控制器中的視圖bean。 – user1159790 2012-03-07 22:43:12