一、整数
<c:forEach var="i" begin="1" end="10" step="1">
<c:out value="${i}" />,
</c:forEach><p>
二、计算x的平方
<table>
<tr><th>Value</th>
<th>Square</th></tr>
<c:forEach var="x" begin="0" end="10" step="2">
<tr><td><c:out value="${x}"/></td>
<td><c:out value="${x * x}"/></td></tr>
</c:forEach>
</table> <p>
三、字符串"47,52,53,55,46,22,16,2" 分隔.
<table border="1">
<c:forTokens items="47,52,53,55,46,22,16,2" delims="," var="dailyPrice">
<tr><td><c:out value="${dailyPrice}"/></td></tr>
</c:forTokens>
</table><p>
四、使用步长
<table>
<tr><th>second</th>
<th>second</th></tr>
<c:forEach var="seconds" begin="0" end="${ pageContext.session.maxInactiveInterval}" step="60">
<tr><td><c:out value="${seconds}"/></td>
<td><c:out value="${seconds}"/></td></tr>
</c:forEach>
</table> <p>
五、对数组进行循环
<% int ai[] = {10, 20, 30, 40, 50};
pageContext.setAttribute("ary", ai);
%>
<c:forEach var="i" items="${ary}">
<c:out value="${i}"/>*
</c:forEach><p>
<%
Cookie c=new Cookie("cookie1","one");
response.addCookie(c);
%>
<%
Cookie cookies[]=request.getCookies();
Cookie sCookie=null;
String sname=null;
String name=null;
if(cookies==null) // 如果没有任何cookie
out.print("none any cookie");
else
{
//out.print(cookies.length + "<br>");
for(int i=0;i<cookies.length; i++) // 循环列出所有可用的Cookie
{
sCookie=cookies[i];
sname=sCookie.getName();
name = sCookie.getValue();
out.println(sname + "->" + name + "<br>");
}
}
%>
<table border="1" align="center">
<tr><th>Cookie Name</th>
<th>Cookie Value</th></tr>
<c:forEach var="cook" items="${pageContext.request.cookies}">
<tr><td><c:out value="${ cook.name}"/></td>
<td><c:out value="${cook.value}"/></td></tr>
</c:forEach>
</table> <p>
六、字符串数组循环
<% String as[] = {
"A first string", "La deuxieme string", "Ella troisiemo stringo"
};
request.setAttribute("stringArray", as);
%><p>
<c:forEach var="string" items="${stringArray}">
<c:out value="${string}"/><br>
</c:forEach>
七、枚举
<%
Hashtable hashtable1 = new Hashtable();
pageContext.setAttribute("numberMap", hashtable1);
hashtable1.put(new Integer(1), "uno");
hashtable1.put(new Integer(2), "dos");
hashtable1.put(new Integer(3), "tres");
hashtable1.put(new Integer(4), "cuatro");
hashtable1.put(new Integer(5), "cinco");
hashtable1.put(new Integer(6), "seis");
hashtable1.put(new Integer(7), "siete");
hashtable1.put(new Integer(8), "ocho");
hashtable1.put(new Integer(9), "nueve");
hashtable1.put(new Integer(10), "diez");
java.util.Enumeration enumeration = hashtable1.keys();
pageContext.setAttribute ("enumeration", enumeration);
%>
<c:forEach var="item" items="${enumeration}" begin="2" end="10" step="2">
<c:out value="${item}"/><br>
</c:forEach><p>
八、map
<c:forEach var="prop" items="${numberMap}" begin="1" end="5">
<c:out value="${prop.key}"/> = <c:out value="${prop.value }"/><br> <c:out value="${prop[key]}"/>
</c:forEach>
九、和<fn:split>一起使用
<c:forTokens items="${remind.remindWay}" delims="," var="i">
</c:forTokens>
<c:set var="array" value="${fn:split(remind.remindWay, ',')}" />
<c:forEach var="i" items="${array}">
<c:if test="${i eq '1'}">系统短信</c:if>
<c:if test="${i eq '2'}">手机短信</c:if>
<c:if test="${i eq '3'}">电子邮件</c:if>
</c:forEach>
分享到:
相关推荐
<c:forEach> 为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行<c:forEach>的本体内容。 语法 语法1:迭代一集合对象之所有成员 <c:forEach [var="varName...
1. `<c:forEach>`:用于遍历集合、数组或迭代对象,实现循环操作。 2. `<c:forTokens>`:对字符串进行分割,然后对每个分割出来的元素进行循环处理。 **使用JSTL的好处**: - 提高代码的可读性:通过使用XML样式的...
在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,使用...
在这个主题"**c标签-if-foreach-jar**"中,主要涉及到的是JSTL的两个核心标签`<c:if>`和`<c:forEach>`,它们是JSTL提供的条件判断和循环控制标签,通常与`jstl.jar`包一起使用。 首先,让我们详细了解**<c:if>**...
对于嵌套的集合(例如:List中包含List),使用`c`标签库(JSTL)进行遍历是一种常见的做法。本文将详细介绍如何利用`c:forEach`标签来遍历这种嵌套的数据结构。 #### 1. 基础知识介绍 在Java Web项目中,通常会...
<c:forEach items="collection" [var="varName"] [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]> 遍历代码 </c:forEach> ``` 其中`items`属性指定要遍历的集合,`var`属性用于存储...
C标签库提供了一些类似于Java编程中的控制结构,例如`<c:if>`, `<c:forEach>`, `<c:choose>`, `<c:set>`等,这些标签能够帮助开发者更方便地在JSP页面上进行逻辑处理,而无需过多地编写脚本let或Java表达式。...
首先,我们需要理解JSTL的核心标签库`<c:forEach>`和`<c:if>`,它们将在动态合并单元格的过程中起到关键作用。`<c:forEach>`用于遍历集合,而`<c:if>`用于执行条件判断。 第一种方法是基于列的合并。假设我们有一个...
- **迭代标签**:`<c:forEach>`、`<c:forTokens>`,实现循环遍历。 - **URL操作标签**:`<c:import>`、`<c:param>`、`<c:url>`、`<c:redirect>`,用于处理URL相关的操作。 **4. 使用JSTL的步骤** 1. 将JSTL的`....
在使用JSTL时,需要引入对应的JAR文件,例如`jstl.jar`和`standard.jar`,并在JSP页面中通过`<%@ taglib %> `指令导入相应的标签库。例如,导入核心库可以写为: ```jsp <%@ taglib prefix="c" uri=...
用于循环的 <c:forEach>?标签 用于分隔字符的 <c:forTokens>?标签? 用于包含页面的 <c:import> 用于得到 URL?地址的 <c:url>?标签? 用于页面重定向的 <c:redirect>?标签? 用于包含传递参数的?<c:param> 标签?.
本文将深入探讨JSTL的核心标签库(core tag library),主要包括`<c:set>`、`<c:remove>`、`<c:catch>`、`<c:if>`、`<c:choose>`以及`<c:forEach>`等标签的使用。 1. `<c:set>`标签: `<c:set>`用于设置变量的值,...
在JSP页面中,使用`<%@ taglib %>`指令导入JSTL库。例如,导入核心库的代码如下: ```jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> ``` ### 三、JSTL核心库的常用标签 1. **<c:if>**:...
1. **Core**:这是最基本的组件,提供了一系列的控制流标签,如迭代(`<c:forEach>`)、条件语句(`<c:if>`、`<c:choose>`)、URL重写(`<c:url>`)等。 2. **I18N & Format**:国际化和格式化组件,支持日期、时间...
2. **利用核心库执行条件逻辑和循环**:JSTL的核心库提供了一系列标记,如`<c:if>`、`<c:choose>`、`<c:when>`、`<c:otherwise>`等,用于执行条件逻辑;`<c:forEach>`标记则用于循环处理列表、数组等集合。这些标记...
- `<c:forLoop>` 和 `<c:forEach>`:循环操作。 - `<c:url>` 和 `<c:param>`:创建URL并添加参数。 - `<c:remove>`:移除一个变量。 - `<c:redirect>` 和 `<c:forward>`:页面重定向和转发。 **JSTL的SQL库(sql)*...
**jstl-api-1.2.jar** 包含了JSTL的接口定义,定义了各种标签的API,比如`<c:forEach>`、`<fmt:formatDate>`等。这个jar文件通常被添加到项目的编译类路径(classpath)中,这样编译器就可以识别JSTL相关的代码,并...
- 动态Include使用`<jsp:include>`的page属性,每次请求都会检查包含文件的最新内容,适合包含动态生成的内容。 7. **HTTP请求转发与重定向**: - `RequestDispatcher.forward()`用于请求转发,客户端浏览器地址...
- `<c:forEach>`:循环遍历集合,类似于Java的`for-each`循环。 - `<c:choose>`, `<c:when>`, `<c:otherwise>`:条件选择结构,类似于Java的`switch`语句。 2. **JSTL Format库**:提供了格式化日期、数字、货币...