转自:https://blog.csdn.net/love398146779/article/details/83853958
两个name要相同,在里边内容为空的时候才会全显示。
<logic:notEmpty name="listcate">
<logic:iterate id="element" name="listcate" scope="request">
<c:set value="0" var="flag"></c:set>
<c:forTokens var="aToken" items="${listid}" delims=",">
<c:if test="${ aToken == element.id }">
<c:set value="1" var="flag"></c:set>
</c:if>
</c:forTokens>
<c:if test="${ flag == '1' }">
<option value="${element.id}" selected="selected">${element.categoryName}</option></c:if>
</logic:iterate>
</logic:notEmpty>
delims,截取字符。
<c:forTokens>标签用于遍历字符串中用特定分隔符分隔的子字符串,并且能重复执行标签主体。<c:forTokens>标签的基本语法如下:
- <c:forEach var="代表子字符串的命名变量的名字" items="被分隔的字符串" delims="分隔符" >
- 标签主体
- </c:forEach>
例如以下代码能遍历字符串"Tom:Mike:Linda"中用分隔符":"分隔的子字符串:
- <c:forTokens var="name" items="Tom:Mike:Linda" delims=":">
- ${name}
- </c:forTokens>
以上代码的打印结果为"Tom Mike Linda"。
在<c:forTokens>标签中也可以使用varStatus、begin、end和step属性,它们的作用和<c:forEach>标签中的相应属性相同。