0

我有以下由 CDI Flow Scope 管理的 bean

@Named
@FlowScoped(value="flow-grupo-classe") 
public class GrupoBean extends BeanUI implements Serializable { ... }

@Named
@FlowScoped(value="flow-grupo-classe")
public class GrupoClasseBean extends BeanUI implements Serializable { ... }

我有一个 primefaces 标签页 (grupo_classe.xhtml) 来管理“grupo”和“classe”的信息。

<ui:composition>
    <ui:define>
        <h:form>
            <p:tabView id="tabView">
                <p:tab title="Grupo" id="tGrupo" titleStyle="width: 19%" >
                    <f:subview id="svGrupo"><ui:include src="grupo.xhtml"></ui:include></f:subview>
                </p:tab>
                <p:tab title="Classes" id="tClasse" titleStyle="width: 19%">
                    <f:subview id="svClasse"><ui:include src="classe.xhtml"></ui:include></f:subview>
                </p:tab>
            </p:tabView> ...

在作文页面内有一个 primefaces 数据表。grupo.xhtml

<ui:composition>
    <h:form>
        <p:datatable>
            <p:ajax event="rowSelect" listener="#{grupoClasseBean.onRowSelect}"/> ...

和classe.xhtml

<ui:composition>
    <h:form>
        <p:datatable> ...

我的问题是:当我使用 xhtml 包含/组合结构时,我的 managedbean 不起作用。

如果我删除此包含/组合并将 primefaces 数据表插入 grupo_classe.xhtml 中,则可以识别托管 bean。

我是否需要为 CDI Flow Scope 做一些额外的配置来识别这个 xhtml 包含/组合结构?

在 faces-config.xml 中我的 CDI 流范围配置下方

<flow-definition id="flow-grupo-classe">
    <start-node>inicio</start-node>
    <view id="inicio">
        <vdl-document>/flow-grupo-classe/grupo_classe.xhtml</vdl-document>
    </view>
    <flow-return id="exit">
        <from-outcome>#{grupoBean.exit}</from-outcome>
    </flow-return>
</flow-definition>
4

0 回答 0