gpt4 book ai didi

javascript - XPages 菜单中的动态渲染公式

转载 作者:行者123 更新时间:2023-11-30 16:04:56 25 4
gpt4 key购买 nike

我在 XPages 中创建了一个计算菜单,其中包含基于用户 Angular 色的呈现规则。我的菜单的值是根据计算字段中的 View 计算的。这是我的菜单代码:

<div id='cssmenu'>
<ul><li class='active has-sub'>
<a href='#'>Title1</a>
<ul>
<xp:text escape="true" disableTheme="true" contentType="html">
<xp:this.value>
<![CDATA[#{javascript:var arr= @DbColumn(@DbName(), "vwMenu", 4);
arr.join("");}]]>
</xp:this.value>
</xp:text>
</ul>
</li>
</ul>
</div>

我的数组中一个元素的值给出了例如这段代码:

<li class='has-sub'>
<a href=https://mylink.com>Link1</a>
<xp:panel>
<xp:this.rendered>
<![CDATA[${javascript:context.getUser().getRoles().contains('[USER1]')}]]>
</xp:this.rendered>
<ul>
<li><a href=https://MyPage.com>Link2</a></li>
</ul>
</xp:panel>
</li>

菜单显示正常,因此 html 代码没问题。但是有关 link2 可见性的 xml 部分却没有。链接 2 不可见,无论连接用户的 Angular 色如何。我认为这是我将 xml 代码用于 javascript 代码时发生的问题。可能是因为我的计算字段的内容类型是 html,而我的渲染代码是 xml。

最佳答案

您忘记用撇号 'href 属性括起来:

  <li class='has-sub'>
<a href='https://mylink.com'>Link1</a>
<xp:panel>
<xp:this.rendered>
<![CDATA[${javascript:context.getUser().getRoles().contains('[USER1]')}]]>
</xp:this.rendered>
<ul>
<li>
<a href='https://MyPage.com'>Link2</a>
</li>
</ul>
</xp:panel>
</li>

关于javascript - XPages 菜单中的动态渲染公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37189663/

25 4 0