XPagesで計算されたメニューを、ユーザーの役割に基づいてレンダリングされたルールで作成しました。 myメニューの値は、計算フィールドのビューから計算されます。 これは私のメニューコードです:私の配列例えば与える、このコードから要素の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>
値:htmlコードはXML部分ok.Butあるので
<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>
メニューが表示されます罰金link2上のvisibilityについてはありません。接続されたユーザーの役割に関係なく、リンク2は表示されません。私はそれがJavaScriptコードにXMLコードを使用するところで起こった問題だと思う。 おそらく、私の計算フィールドのコンテンツタイプがhtmlであり、レンダリングのためのコードがxmlであるためです。あなたはアポストロフィ'
とhref
属性囲むのを忘れて
メニューがでたり、URLにアポストロフィなしで動作します。私はユーザーの役割に応じてレンダリングルールを置くときだけ動作しません。 – user3082877