为什么使用<C:foreach>标签不能循环出List里的内容?
使用JSP调试的时候后台明明List有数据,但是一使用<c:foreach>标签就是显示不出数据,显示空白 。
首先要弄清楚这个标签的用法:
c:forEach用法
<c:foreach>类似于for和foreach循环 以下是我目前见过的用法:
1、循环遍历,输出所有的元素。
<c:foreach items="${list}" var="li">
${li}
</c:foreach>
注意:items 用于接收集合对象,var 定义对象接收从集合里遍历出的每一个元素。同时其会自动转型。
2、循环遍历,输出一个范围类的元素。
<c:foreach items ="${lis}" var = "li " begin="3" end ="13">
${li}
</c:foreach>
注意:begin 定义遍历的开始位置,end定义遍历的结束位置。begin 和end的引号必须写。
3、循环遍历,输出除某个元素以外的元素或输出指定元素。
<c:foreach items="${list}" var ="li" varStatus="status">
<c:if text="${status.count==1}>
${"第一个元素不要"}
</c:if>
${li}
</ c:foreach>
注意:varStatus 表示当前集合的状态,count为循环一个计算器。
4、循环遍历,输出第一个或最后一个元素。
<c:foreach items="${list}" var ="li" varStatus="status">
<c:if text="${status.first}">我是第一个元素</c:if>
<c:if text="${status.last}">我是最后一个元素</c:if>
</c:foreach>
注意:first表示如果是一个元素,则返回ture,反之则返回false
last 表示如果是最后一个元素,则返回ture,反之则返回false。
5、循环遍历,按指定步长输出。
<c:foreach items="list" var ="li" step="2">
${li}
</c:foreach>
<c:foreach>类似于for和foreach循环 以下是我目前见过的用法:
1、循环遍历,输出所有的元素。
<c:foreach items="${list}" var="li">
${li}
</c:foreach>
注意:items 用于接收集合对象,var 定义对象接收从集合里遍历出的每一个元素。同时其会自动转型。
2、循环遍历,输出一个范围类的元素。
<c:foreach items ="${lis}" var = "li " begin="3" end ="13">
${li}
</c:foreach>
注意:begin 定义遍历的开始位置,end定义遍历的结束位置。begin 和end的引号必须写。
3、循环遍历,输出除某个元素以外的元素或输出指定元素。
<c:foreach items="${list}" var ="li" varStatus="status">
<c:if text="${status.count==1}>
${"第一个元素不要"}
</c:if>
${li}
</ c:foreach>
注意:varStatus 表示当前集合的状态,count为循环一个计算器。
4、循环遍历,输出第一个或最后一个元素。
<c:foreach items="${list}" var ="li" varStatus="status">
<c:if text="${status.first}">我是第一个元素</c:if>
<c:if text="${status.last}">我是最后一个元素</c:if>
</c:foreach>
注意:first表示如果是一个元素,则返回ture,反之则返回false
last 表示如果是最后一个元素,则返回ture,反之则返回false。
5、循环遍历,按指定步长输出。
<c:foreach items="list" var ="li" step="2">
${li}
</c:foreach>
二、其次,这个标签里的LIST集合是放在request里的,也就是说他会去读放在类似Request,Session中的集合。所以,当你的C:foreach标签循环不出数据时,在确保List中已经取到数据时,不妨在JSP页面对象中加入 request.setAttribute("XXX",xxx);
相关推荐
在JavaServer Pages (JSP) 开发中,`c:forEach`标签是Java Expression Language (EL) 和 JavaServer Pages Standard Tag Library (JSTL) 的一部分,它提供了一个方便的方式来迭代数组、集合、Map或其他可迭代的数据...
在JSP(JavaServer Pages)开发中,`<c:forEach>` 是一个非常重要的标签,它属于JSTL(JavaServer Pages Standard Tag Library)的一部分,主要用于循环处理集合、数组等数据结构。相较于传统的JSP Scriptlets,使用...
在JSP页面中,使用`c:forEach`标签遍历`map`: ```jsp <c:forEach items="${map}" var="entry"> <option value="${entry.key}">${entry.value}</option> </c:forEach> ``` 这里,`${map}`代表从前端传过来的`Map`...
本文将详细介绍JSTL中的核心标签:<c:if>、<c:choose>、<c:forEach>、<c:forTokens>、<c:catch>、<c:remove>、<c:set>、<c:import>、<c:redirect>、<c:url>以及与之相关的<fmt>标签库。 #### 1. <c:if> <c:if>标签...
3. **循环标签**:包括`<c:forEach>` 和 `<c:forTokens>`。这些标签用于循环处理数据集。 - `<c:forEach>`:遍历集合或数组。 - `<c:forTokens>`:基于分隔符分割字符串并迭代。 4. **URL操作标签**:包括`<c:...
C标签库是JSTL的一部分,它包含了类似于Java语言的循环和条件语句的标签,如`<c:forEach>`、`<c:if>`、`<c:choose>`等。这些标签使得JSP开发者能够更清晰地组织代码,而不是直接在页面上写Java脚本。例如,`<c:...
<c:when test="${empty valuelist}"><br> valuelist为空<br> </c:when><br> <c:otherwise><br> valuelist不为空<br> </c:otherwise><br> </c:choose><br> <p><br> <li>循环控制标签:c:foreach</li><br><br> <table ...
`<c:forEach>` 标签用于循环遍历数组或集合。关键属性包括: - `items`:要遍历的集合或数组。 - `begin`:开始位置,默认为0。 - `end`:结束位置。 - `step`:步进值,默认为1。 - `var`:当前项的变量名。 示例...
使用`<c:forEach>`标签的示例代码如下: ```jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> ... <c:forEach var="item" items="${yourCollection}"> <p>当前元素:${item}</p> </c:...
**JSTL(JavaServer Pages Standard Tag Library)** 是一个标准的标签库,它为Java Servlet和JavaServer Pages (JSP) 提供了强大的处理能力,使得开发者可以通过使用标签而不是脚本来实现页面逻辑,从而提高了代码...
在这个例子中,`${list}`是存储在请求作用域的List对象,`<c:forEach>`标签将遍历这个List并打印出每个元素。 总之,JSTL和C标签库为JSP开发提供了强大的工具,使得页面更简洁、可读性更强,同时也提升了开发效率和...
例如,通过<s:form>标签创建一个表单,其中包含<s:textfield>和<s:submit>,同时用<c:forEach>遍历列表并显示数据,还可以利用<c:if>进行条件判断,以控制某些内容的显示与否。 在文件名为"friend2"的压缩包中,...
接下来,创建一个 JSP 页面,使用 `<c:forEach>` 标签来遍历 `TestBean` 的实例列表: ```jsp <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" %> ...
- `<c:forEach>`:循环遍历数组或集合,如`<c:forEach items="${list}" var="item">${item}</c:forEach>`。 - `<c:url>`和`<c:param>`:创建URL并添加参数,如`<c:url value="/search" var="searchUrl"><c:param ...
根据提供的文件信息,本文将详细解释如何使用JSTL(JavaServer Pages Standard Tag Library)中的`c`标签、`sql`标签以及`fmt`格式化标签。这些标签为Web开发人员提供了强大的工具来处理数据流控制、数据操作及格式...
<c:forEach items="${list}" var="item"> ${item} </c:forEach> ``` 5. `<c:redirect>` 和 `<c:url>`:处理URL相关的操作。`<c:redirect url="新页面地址"/>` 可以重定向到指定的页面,`<c:url value="原始URL...
以上代码展示了如何使用JSTL中的`<c:out>`, `<c:if>`, 和`<c:forEach>`标签进行数据输出、条件判断和循环处理。 ### 结论 EL表达式和JSTL标准标签库是JSP开发者不可或缺的工具,它们不仅简化了JSP页面的开发过程,...
假设我们有一个用户列表,存储在名为`users`的List对象中,可以使用JSTL的`<c:forEach>`标签来遍历并显示每个用户的信息: ```jsp <table> <c:forEach items="${users}" var="user"> <tr> <td><c:out value="$...
`<c:forEach>`是JSTL中最常用的标签之一,用于遍历集合或数组。在这段代码中,`<c:forEach>`被用来遍历一个ArrayList、一个HashMap和一个Bean的列表。 #### ArrayList遍历示例: ```jsp <c:forEach var="li" items...
- `<c:forEach>` 用于遍历集合(如List、Set、Map等)或执行固定次数的循环。它有多个属性,包括: - `var`:定义循环变量名。 - `items`:要遍历的集合或数组。 - `varStatus`:提供额外的循环状态信息,如`...