2012-04-05 63 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