【问题标题】:Best design to pass parameters between beans with JSF 2使用 JSF 2 在 bean 之间传递参数的最佳设计
【发布时间】:2015-02-24 20:58:14
【问题描述】:

我一直在阅读有关使用 JSF 2 在 bean 之间传递参数的不同方法,但我真的不知道哪种方法最适合这种情况。

假设我有一个包含 6 到 7 个视图的进程,每个视图都有一个“返回”按钮,用于返回我想要恢复其数据的上一个视图。

一种选择是使用会话 bean 来存储所有数据,但我不能这样做,因为我们有太多不同的进程。

我希望每个视图有 1 个 bean,因此我不会在一个视图 bean 中包含每个进程。

有些视图在我们返回时有太多数据需要恢复,所以我不想将它们作为请求参数发送,url 会太长。

我们还可以使用 JSF2 做什么?我们也使用 Omnifaces 和 Primefaces。

视图/bean 示例。

  • 带有 20 个 inputFields / BeanA 的 ViewA 在数据库中搜索 从 ViewA 输入数据并在 ViewA 的表中显示结果。
  • ViewB 从 ViewA / BeanB 中选择的结果之一访问详细信息,以格式化/处理选择的详细信息。
  • ViewC 带有一个表单来编辑一些细节/BeanC 来管理细节
  • 带有修改历史记录的 ViewD/用于管理历史记录的 BeanD。

每个View都有一个按钮返回上一个ViewD -> ViewC -> ViewB -> ViewA。

谢谢。

【问题讨论】:

  • 第一部分闻起来很像“流”(JSF2.2)如果你可以切换,一个选项是创建流,创建一个 flowScoped bean,然后那个 bean 来处理 @987654322 @, beanB... 如果你可以升级到 JSF2.2,我会写这个作为答案。 blog.oio.de/2014/02/12/…
  • 这是一个非常广泛/基于意见的问题,但除了 JSF 中的新流程之外,视图和 Flash 范围的组合也可以在这里工作。只为 JSF Flows 升级到 v-2.2(还不是很顺利)对我来说感觉有点矫枉过正
  • @SJuan76 我一直在阅读您建议的博客,它看起来是一个很好的解决方案。我将首先升级到 JSF 2.2 并立即对其进行测试。谢谢。如果我解决了问题,我会回复选择的答案。

标签: jsf-2 primefaces omnifaces


【解决方案1】:

codi ViewAccessScope 听起来非常适合这里。只要一个 bean 没有在(新)视图中被引用,它就会被销毁

【讨论】:

    猜你喜欢
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 2013-07-09
    • 2018-06-07
    • 2012-07-17
    相关资源
    最近更新 更多