在 XPage 上,我有一个导航器,它根据所选项目设置 sessionScope 变量。然后我在 SwitchFacet 中使用该值来显示几个不同视图之一。这很好用,但我知道 switchFacet 会为所有视图加载整个树,其中作为 dynamicContent 控件仅加载所选面板的树。因此,我使用以下代码在 XPage 上的 panelAll 内创建了一个 dynamicContent 控件(Navigator 对 panelAll onClick 进行了部分重新释放):
<xp:panel id="panelAll" style="width:auto">
<xe:dynamicContent id="dynamicContent1">
getComponent("dynamicContent1").show(sessionScope.get("ssSelectedView");
<xp:this.facets>
<xp:panel xp:key="vwProfile">
<xc:ccProfileView></xc:ccProfileView>
</xp:panel>
<xp:panel xp:key="vwPending">
<xc:ccTransactionView></xc:ccTransactionView>
</xp:panel>
<xp:panel xp:key="vwAgentLog">
<xc:ccAgentView></xc:ccAgentView>
</xp:panel>
</xp:this.facets>
</xe:dynamicContent>
</xp:panel>
问题是视图不会像 switchFacet 那样改变。我知道 sessionScope 变量 id 设置正确,onClick 部分刷新应该刷新 panelAll 并选择要加载的不同面板,但它只显示 vwProfile 视图。我还需要做些什么来使动态内容正常工作吗?