D.C*_*.C. 24 java jstl jsp-tags
我正在尝试使用jstl处理列表.我想以不同于其他元素的方式处理列表的第一个元素.也就是说,我只希望第一个元素将显示设置为阻止,其余部分应该被隐藏.
我所拥有的东西似乎臃肿,不起作用.
谢谢你的帮助.
<c:forEach items="${learningEntry.samples}" var="sample">
<!-- only the first element in the set is visible: -->
<c:if test="${learningEntry.samples[0] == sample}">
<table class="sampleEntry">
</c:if>
<c:if test="${learningEntry.samples[0] != sample}">
<table class="sampleEntry" style="display:hidden">
</c:if>
Run Code Online (Sandbox Code Playgroud)
axt*_*avt 51
它可以做得更短,没有<c:if>:
<c:forEach items="${learningEntry.samples}" var="sample" varStatus = "status">
<table class="sampleEntry" ${status.first ? '' : 'style = "display:none"'}>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
是的,在foreach元素中声明varStatus ="stat",因此您可以询问它是第一个还是最后一个.它是LoopTagStatus类型的变量.
这是LoopTagStatus的文档:http: //java.sun.com/products/jsp/jstl/1.1/docs/api/javax/servlet/jsp/jstl/core/LoopTagStatus.html 它有更多有趣的属性......
<c:forEach items="${learningEntry.samples}" var="sample" varStatus="stat">
<!-- only the first element in the set is visible: -->
<c:if test="${stat.first}">
<table class="sampleEntry">
</c:if>
<c:if test="${!stat.first}">
<table class="sampleEntry" style="display:none">
</c:if>
Run Code Online (Sandbox Code Playgroud)
编辑:从axtavt复制
它可以做得更短,没有<c:if>:
<c:forEach items="${learningEntry.samples}" var="sample" varStatus = "status">
<table class="sampleEntry" ${status.first ? '' : 'style = "display:none"'}>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37102 次 |
| 最近记录: |