嗨,我需要在jsf中实现一个无序列表 - 只是想知道我是否必须为此创建自定义标记?我尝试过使用<ul>但它目前正在jsf组件树之外.干杯
但它目前正在落在jsf组件树之外
这表明您正在使用旧版JSF 1.0/1.1.有关JSF/Facelets的更多详细信息,请参阅:为什么将JSF/Facelets与HTML标记混合起来不是一个好主意?
你基本上有3种选择:
升级到JSF 1.2.它具有与JSF 1.0/1.1完全相同的环境要求,因此不需要任何其他更改,只需更换JAR就足够了.完成后,您可以毫不费力地写下"纯HTML".
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
如果升级真的不是一个选项,那将是非常奇怪的,那么将纯朴的HTML包装在其中<f:verbatim>.
<f:verbatim>
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
</f:verbatim>
Run Code Online (Sandbox Code Playgroud)
请注意,您不一定需要包装每个标记.只有在"中途"遇到JSF组件时才关闭并重新打开它.即使以下是有效的.
<f:verbatim>
<ul>
<li>item 1</li>
<li></f:verbatim><h:outputText value="#{bean.some}" /><f:verbatim></li>
<li>item 3</li>
</ul>
</f:verbatim>
Run Code Online (Sandbox Code Playgroud)
使用JSF 1.0/1.1兼容的组件库,它提供了一个生成一个组件的盒子<ul><li>.只有一个想到:战斧 <t:dataList>.只需将其layout属性设置unorderedlist为让它生成一个<ul><li>.
<t:dataList layout="unorderedList" value="#{bean.list}" var="item">
<h:outputText value="#{item}" />
</t:dataList>
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
10572 次 |
| 最近记录: |