我在XPages中創建了一個基於用戶角色的渲染規則的計算菜單。 我的菜單的值是從計算字段中的視圖計算得出的。 這是我的菜單代碼:XPages中的動態渲染公式菜單
<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代碼ok.But的XML部分關於鏈路2上的可視性沒有。鏈接2不可見,無論連接用戶的角色如何。我認爲這是一個問題,發生在我使用JavaScript代碼的XML代碼。 也許是因爲我的計算字段的內容類型是html,我的渲染代碼是xml。
菜單與工作中有無URL撇號。它不工作,只有當我把渲染規則取決於用戶角色。 – user3082877