gpt4 book ai didi

javascript - 使用 SessionScope 变量选择 DynamicContent

转载 作者:行者123 更新时间:2023-12-02 18:14:21 28 4
gpt4 key购买 nike

在 XPage 上,我有一个导航器,它根据所选项目设置 sessionScope 变量。然后我在 SwitchFacet 中使用该值来显示几个不同 View 之一。这工作得很好,但我知道 switchFacet 加载所有 View 的整个树,而动态内容控件仅加载所选面板的树。因此,我使用以下代码在 XPage 上的 panelAll 内创建了一个动态内容控件(导航器对 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>

问题是 View 不会像 switchFacet 那样改变。我知道 sessionScope 变量 id 设置正确,并且 onClick 部分刷新应该刷新 panelAll 并选择要加载的不同面板,但它只显示 vwProfile View 。我还需要做些什么才能使动态内容发挥作用吗?

最佳答案

不幸的是,dynamicContent 控件不能用于部分更新,只能完全重新加载页面。几个月前我也尝试过同样的方法,但它对我来说也不起作用。

我使用解决方法将我的“动态内容”放入自定义控件中,并使用它们的 rendered 属性根据 sessionScope 变量的状态显示它们。

这并不完美,因为 XPages 引擎始终在其树中包含所有自定义控件的所有内容,但对于中等复杂的应用程序来说是可以的。

关于javascript - 使用 SessionScope 变量选择 DynamicContent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19438223/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com