繁体   English   中英

如何使用@ConversationScoped处理多个支持bean?

[英]How to use @ConversationScoped to handle more than one backing bean?

Java 1.7 / JSF 2 / JPA 2 /休眠4

我已经阅读了许多有关@ConversationScoped的教程和文章,并且在所有这些文章中,消息都是相同的:当您对一个后备bean有很多视图时,请使用它。

但是,我有一个业务流程场景,其中我必须:

  1. 在列表页面中显示许多项目(由列表支持Bean支持);
  2. 显示一个编辑页面(由另一个支持Bean支持)以编辑列表中的特定项目;
  3. 编辑完成后,请返回应该显示相同先前上下文的列表页面。

编辑页面很复杂,并且具有许多依赖关系,因此在列表支持bean中就没有意义了,这就是为什么我更喜欢让两个支持bean在两个不同的页面上工作,而只是在一个业务环境中。

能做到吗? 步骤是什么?

经过测试,我可以使其正常工作。 我要做的就是在编辑按钮上添加cdi button参数。 为了使其正常工作,我的编辑按钮必须是这样的:

<p:commandButton title="Edit"
                 action="#{myMB.nextView}"
                 ajax="false">
    <f:param name="id" value="#{bean.id}"/>
    <f:param name="cid" value="#{myMB.conversation.id}"/>
</p:commandButton>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM