2012-03-07 95 views
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的示例,但是我找不到上述問題的任何實例。

瞭解這個問題的任何信息都非常感謝。提前致謝。

+0

只是想補充一點,如果我將自定義視圖範圍bean轉換爲標準會話範圍bean,那麼一切正常。我可以從我的請求範圍bean中正確訪問它。 – user1159790 2012-03-07 01:00:24

+0

您是否直接訪問Facelets中的View範圍的bean?如果你不這樣做,在你的請求範圍內Bean可能會創建一個新的實例(我不確定Spring是如何在JSF之上做的)。但是,與請求中創建的任何東西一樣,它會隨請求結束而被銷燬。下一個請求只需重新創建一個「註冊」的新實例。 – JScoobyCed 2012-03-07 01:19:02

+0

我確實直接在我的facelets中訪問視圖範圍的bean。我想在執行操作時訪問控制器中的視圖bean。 – user1159790 2012-03-07 22:43:12

回答

相關問題