我目前正在学习JSF 2.0,并且很高兴有这个会话范围功能的存在,它非常有帮助,可以在同一页上打开新标签页或新窗口,并具有独立的资源,不会互相覆盖。
但我很好奇如何以良好的方式实现这一点,何时开始对话,何时结束对话。
在我的情况下,我为每个JSF页面拥有一个CDI bean。假设我有一个菜单,当点击它时,会导致页面A,从A可能会导致B,B可能会导致C,C可能会导致D,所有这4个页面都连接在一条链中。
可以从B或C或D bean访问A的bean属性,也可以从C或D bean访问B的属性,依此类推。
现在我很困惑:
- 所有这些ABCD应该使用会话范围还是不使用会话范围,或者仅使用A?因为我认为有时来自ABCDF之外的另一页,比如页面F,它也可以导航到页面B,尽管我还不知道如何向bean B提供数据。
- 是否应将所有这些ABCD组合成一个bean
- 何时在哪里开始对话,我考虑使用构造函数,但我不认为这是一个好主意,因为我更喜欢在第一次访问页面而不是bean时开始对话
- 何时在哪里结束对话,以防止无用的资源挂起
请分享您对此的想法。
@nickname
,例如@BalusC
,以便自动通知他们有关评论回复的内容。请参见 http://meta.stackexchange.com/questions/43019/how-do-comment-replies-work - BalusC