JSF 2:你如何划分你的JSF Beans?

时间:2011-03-21 01:44:58

标签: jsf jsf-2

我有一个令人困惑的时间决定如何分区我的JSF Beans。

我目前的想法:

  1. 为每个JSF xhtml页面设置一个JSF Bean(ViewScope - 在浏览器中支持multitab)
  2. 我可以使用view params或flash scope scope共享参数
  3. 拥有一个会话bean,该会话bean共享一个上下文对象,该对象包含可以为所有视图范围的JSF-bean共享的用户信息等
  4. 您对如何决定/设计JSF Beans有什么建议吗?

    谢谢!


    更新

    很抱歉没有明白分区的事情:

    在分区JSF Beans时我想到的是,创建JSF Bean的因素是什么。 换句话说,我应该如何基于功能划分豆类? 换句话说,设计JSF Beans的最佳做法是什么?

    我最初的帖子是询问是否可以按照我目前的想法进行设计。

    是否可以使用一个视图范围的bean来处理每个页面,或者它是不是很糟糕,因为随着页面数量的增加,bean会变得太多,或者可能是其他东西?

    作为补充说明,这篇文章实际上是由我的其他post

    中的一条评论引发的。
      

    我还建议你复习一下   建筑。你确定需要吗?   所有的豆子,完全分开   像这样?这听起来像是什么   这将难以维持。

2 个答案:

答案 0 :(得分:1)

实际上你应该做最适合你情况的事情。许多页面可能使用单个bean,但它并不适合所有情况。

例如,网上商店可以在单个页面中显示来自客户篮子的文章和信息,其中篮子数据来自篮子豆,而来自目录大豆的文章。所以它会在一页上使用两个bean。

另一个例子是mulipage订单表单,您可以使用单个bean处理所有页面,因为它们彼此相关。

答案 1 :(得分:1)

  1. 为每个页面都有一个ViewScoped支持bean。(它们是为了这个目的而制作的,它们肯定没有SessionScoped Beans那么昂贵)
  2. 保留会话bean以维护每个会话的用户数据。
  3. 避免使用ApplicationScoped bean,因为它不太可能经常被垃圾收集。
  4. 这是我在创建JSF ManagedBean之前考虑的基线。