如何隐藏带有<;的菜单项;李>;XPages中的标记
我有一份传统的菜单,是根据这个惯例为我们准备的如何隐藏带有<;的菜单项;李>;XPages中的标记,xpages,Xpages,我有一份传统的菜单,是根据这个惯例为我们准备的 <ul> <li><xp:link>menu link 1</xp:menulink></li> <li><xp:menulink>menu link 2</xp:menulink></li> </ul> 菜单链接1 菜单链接2 我想根据一些逻辑选择性地呈现菜单链接2。 我可以很好地渲染,但由于是一个HTML标记而不是一个
<ul>
<li><xp:link>menu link 1</xp:menulink></li>
<li><xp:menulink>menu link 2</xp:menulink></li>
</ul>
- 菜单链接1
- 菜单链接2
我想根据一些逻辑选择性地呈现菜单链接2。
我可以很好地渲染
,但由于
是一个HTML标记而不是一个XPages标记,因此无法控制渲染
我注意到有一个标记名属性用于
,但不用于
。
见:
在不使用重复等的情况下,最简单的管理方法是什么
<ul>
<li>Static item 1</li>
<xp:text escape="false" id="computedField1" tagName="li" rendered="false">
<xp:this.value><![CDATA[#{javascript:'<a href="http://XPages.info">menu link 2</a>'}]]></xp:this.value>
</xp:text>
<li>Static item 3</li>
</ul>
- 静态项目1
- 静态项目3
当然,您可以在xp:text上计算呈现的标记。如果您不担心代码是否显示您始终可以使用ssjs系统地更改li上的类
<ul>
<li class="#{javascript:return myclassname;}"><xp:link>menu link 1</xp:menulink></li>
<li><xp:menulink>menu link 2</xp:menulink></li>
</ul>
菜单链接1
- 菜单链接2
您还可以将整个..
标记包装在带有渲染脚本的
标记中。不要给xp:panel一个ID,并且不会向浏览器发送额外的代码
如果您使用的是Extlib或UP1,那么也可以使用
标记。它将每个直接子条目呈现为一个列表项,因此您将得到类似于..的代码
<xe:listcontainer>
<xp:link> ... </xp:link>
<xp:link rendered="renderscript"> ... </xp:link>
<xp:link> ... </xp:link>
</xe:listcontainer>
...
...
...
在这种情况下,您无需在代码中添加
或
标记,ExtLib将为您处理这些标记。使用面板将标记名设置为“li”(自8.5.3起新增):
-
菜单链接1
菜单链接2
我过去使用过xp:span,它工作得很好
<xp:span>
<xp:this.rendered><![CDATA[#{javascript:document1.isEditable()}]]></xp:this.rendered>
<li>YOUR TEXT HERE</li>
</xp:span>
你的文字在这里
谢谢,UP1的想法看起来不错。使用这么多面板的想法似乎非常“昂贵”
<xp:span>
<xp:this.rendered><![CDATA[#{javascript:document1.isEditable()}]]></xp:this.rendered>
<li>YOUR TEXT HERE</li>
</xp:span>