【问题标题】:Passing Object obtained in action method of one JSF view to another将在一个 JSF 视图的操作方法中获得的对象传递给另一个
【发布时间】:2011-07-10 22:45:14
【问题描述】:

我对 JSF 还很陌生。只是试图让一个简单的应用程序正常工作(以前是使用另一种技术编写的)。

情况是我让人们进入起始页面,他们输入了一个电子邮件地址,我们查看他们是否已经注册。如果是,我们希望将他们重定向到注册页面,并使用我们通过原始表单操作中完成的搜索获得的对象将他们的所有信息预先填充到表单中。

我有一个名为 LookupBean 的 bean,其中包含 emailAddress 和“doLookup”的操作。然后我们有一个registrationBean,它为所有相关的注册信息(姓名、电话、电子邮件等)公开一个模型对象。这个registationBean会有一个save方法等等。

所以,lookupBean 被lookup.xhtml 使用,而RegistrationBean 被register.xhtml 使用。

我的问题是,一旦我通过 lookup.xhtml 在 LookupBean 中执行查找操作并前往注册,如何让registrationBean 引用查找期间获得的值?

还需要注意的是,我希望这两个 bean 都是基于视图的 bean。我怀疑一种选择是只使注册表 bean 会话范围,然后它会起作用。

希望这是有道理的。

谢谢!

【问题讨论】:

    标签: jsf jsf-2


    【解决方案1】:

    使用 jsf2.0 我们有 viewscope,您可以使用它来代替会话开销

    【讨论】:

    • bean 是视图范围,但我的问题是如何将第一个视图范围 bean 中的值设置为下一个视图范围的 bean。我的测试表明我可以将视图 bean #2 注入到视图 bean #1 中,但是一旦页面加载,实际上会创建一个不同的 bean。
    • 它在视图范围内。我找到的解决方案是使用 viewParams 并传递 id。
    【解决方案2】:

    这是已解决的 ViewScope 的缺点之一,例如@ViewAccessScoped 用于 JSF + CDI 应用程序。几天前,我在http://os890.blogspot.com/search/label/ViewScoped 找到了有趣的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-01
      • 2015-09-15
      • 1970-01-01
      相关资源
      最近更新 更多