【問題解決】you cannot access components belong to other desktop

問題描述:

原因在於型態Singleton 只會在初始化Spring配置時產生一個實例,因網頁Refresh 後元件會重新製作,問題就在這裡發生了,因為Singleton型態的關係,Controller依舊是對應Refresh前的元件,所以當要對元件做操作時就會告訴你無法存取屬於其他桌面的原件例外。

解決辦法:

這個情況是因為ApplicationContent-Controller.xml 中 Bean 未設定 Scope(預設型態為 singleton),只要把Bean Scope 改為prototype就能解決該問題。

Ps.  prototype 會在網頁Refresh後重新產生一個新的Bean給Refresh後的網頁。

範例可參考  【Spring Bean scope Example

Leave a Reply

你的電子郵件位址並不會被公開。 必要欄位標記為 *