2012-04-05 59 views
0

我不確定我想要什麼是可能的,但仍然... 我想在用戶之間共享數據,如完成here。然而,與這個使用ApplicationScope來共享數據的例子不同,我希望數據不是在所有用戶之間共享,而是僅針對用戶組(如私人聊天室,而不是像該示例中的公共空間那樣)共享數據。 目前我使用ViewScope但爲了更新參與者的顯示,使用黑客我發現here,但這種解決方案不是很穩定,因爲它偶爾會拋出JS錯誤。 有沒有對我的問題有任何合理的解決方案? 歡呼聲, 埃雷茲JSF 2:在特定用戶之間共享範圍

回答

2

將它們保持在應用程序中的一個Map範圍的bean其中地圖鍵是組標識符。

E.g.

@ManagedBean 
@ApplicationScoped 
public class ChatManager { 

    private Map<Group, Room> rooms; 

    // ... 
} 

@ManagedBean 
@ViewScoped 
public class GroupChat { 

    @ManagedProperty("#{chatManager.rooms[user.group]}") 
    private Room room; 

    // ... 
} 
+0

謝謝你,我會試試看 – eRez 2012-04-06 05:20:15