JSTL之<c:forEach>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<tbody>
<c:forEach var="instance" items="${requestScope.list}" varStatus="status">
	<c:choose>
		<c:when test="${status.index%2==0}" >//斑马线
	   		<tr class="SelcetOff">
	   	</c:when>
		<c:when test="${status.index%2==1}" >
	   		<tr class="SelcetOn">
	   </c:when>
   	</c:choose>
   			<td><div align="center">${instance.userName}</div></td>
   			<td><div align="center">${instance.address }</div></td>
   			<td><div align="center">${instance.role }</div></td>
   
		    </tr>
</c:forEach>
</tbody>

status.current 当前这次迭代的(集合中的)项 
status.index 索引,从0开始,相当于for循环里的i 
status.count 计数器,从1开始 
status.first 判断是否是第一条 
status.last  判断是否是最后一条 
status.begin 获得开始时的记录 
status.end   获得结束时的记录 
status.step  获得步长

${requestScope.list}是一个List<User>,instance是其中的一个实例

<c:forEach items="${requestScope.winMap}" var="entry" varStatus="status" >

	<tr><td><c:out value="${entry.key}" />等奖</td><td><c:out value="${entry.value.winCount}" /></td><td><c:out value="${entry.value.winMoney}" /></td></tr>
	<c:if test="${!status.last}">
	<tr><td>追加</td><td><c:out value="${entry.value.winAddCount}" /></td><td><c:out value="${entry.value.winAddMoney}" /></td></tr>
	</c:if>
</c:forEach>

${requestScope.winMap}是一个Map<String,Win>,entry是其中的一个实例,${!status.last}表示不是最后一项

Map map=request.getParameterMap();
Iterator ite = map.entrySet().iterator();
while (ite.hasNext()) {
      Map.Entry mapEntry = (Map.Entry)_ite.next();
      request.setAttribute((String)mapEntry.getKey(), mapEntry.getValue());
}

可参考: 
JSTL标签用法 详解 
http://blog.csdn.net/zwhfyy/archive/2009/07/09/4335200.aspx

迭代 
http://www.java2000.net/p3893

使用JSTL标签格式化时间与货币形式 
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<fmt:formatDate value="${date}" pattern="yyyy年MM月dd日 HH:mm:ss"/>

这里的value值是你要格式化的值,一般是后台传送到前台的Date对象  后面的pattern对应的是要显示的格式,可以自定义.

<fmt:formatNumber value="${ entry.pretaxprize/100 }" pattern="##.##" minFractionDigits="2" />元

EL表达式拾遗: 
pageScope、requestScope、sessionScope 和applicationScope对应JSP的pageContext、request、session和application

request.getParameter(String name) 
request.getParameterValues(String name) 
application.getInitParameter("userid") 
分别等价于: 
${param.name} 
${paramValues.name} 
${initParam.userid}

${pageContext.request.queryString}         取得请求的参数字符串 
${pageContext.request.requestURL}         取得请求的URL,但不包括请求之参数字符串 
${pageContext.request.contextPath}         服务的web application 的名称 
${pageContext.request.method}           取得HTTP 的方法(GET、POST) 
${pageContext.request.protocol}         取得使用的协议(HTTP/1.1、HTTP/1.0) 
${pageContext.request.remoteUser}         取得用户名称 
${pageContext.request.remoteAddr }         取得用户的IP 地址 
${pageContext.session.new}             判断session 是否为新的 
${pageContext.session.id}               取得session 的ID 
${pageContext.servletContext.serverInfo}   取得主机端的服务信息 
${header["User-Agent"]}  要取得用户浏览器的版本

运算符empty,?: 
例:${empty param.name}、${A?B:C}、${A*(B+C)}

时间: 2024-10-11 01:06:40

JSTL之<c:forEach>的相关文章

JSTL的c:forEach标签(${status.index})

<c:forEach>标签具有以下一些属性: var:迭代参数的名称.在迭代体中可以使用的变量的名称,用来表示每一个迭代变量.类型为String. items:要进行迭代的集合.对于它所支持的类型将在下面进行讲解. varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息. begin:如果指定了items,那么迭代就从items[begin]开始进行迭代:如果没有指定items,那么就从begin开始迭代.它的类型为整数. end:如果指定了items,那么就在ite

jstl中&lt;c:forEach&gt;的用法

在JSP的开发中,迭代是经常要使用到的操作.例如,逐行的显示查询的结果等.在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出.现在,通过JSTL的迭代标签可以在很大的程度上简化迭代操作. JSTL所支持的迭代标签有两个,分别是<c:forEach>和<c:forTokens>.在这里介绍的是<c:forEach>标签. 简单点说,<c:forEach>标签的作用就是迭代输出标签内部的内容.它既可以进行

jstl表达式的foreach标签只执行循环不显示取出的值

jstl的foreach标签使用方法网上一大堆,在此不必赘述,本次主要mark的是为啥按照正常的写法不显示值,${value}放那啥样显示出来的就啥样 标题效果描述如下 : jsp中: <c:forEach begin="1" var="a" end="5" step="1"> ${a} <br></c:forEach> 显示效果: ${a} ${a} ${a} ${a} ${a} jstl

jstl中的foreach标签

<%@ page import="java.util.ArrayList" %><%@ page import="java.util.List" %><%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.

jstl中c:foreach下的表格实现异步刷新

setInterval(function(){ var url = "${ctx}/alarm/alarm/CompanySort";//填你自己的路径 var data = {}; $.ajax({ type : "post", url : url, data : data, success:function(dates){// alert(JSON.stringify(dates)); $('#dg').html('<table>' +'<tr

JSTL之&lt;c:foreach&gt;循环展示table

通过迭代list<KeyValueVo>显示为一个table样式的表格,经过反复试验和网上搜索,终于找到完美的解决方法,贴出来代码如下: <table width="98%" border="0" align="center" cellpadding="5" cellspacing="1" class="f12"> <tr> <c:forEach

jsp与El,jstl知识点总结归纳

jsp与El,jstl知识点总结归纳 jsp部分 一.jsp的三大指令 page ,include,taglib 1.jsp中的page指令 <% page %>-设置jsp 例如: <%@ page language="Java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util

JSTL标签——核心标签库

JSP 标准标记库( Standard Tag Library , JSTL)是实现Web应用程序中常见的通用功能的定制标签库集,程序员通过JSTL标签避免在JSP页面中使用脚本. JSTL是一个标准的已制定好的标签库,它可以应用到很多领域. 如:基本输入输出.流程控制.循环.XML文件剖析.数据库查询及国际化和文字格式标准化的应用等. JSTL所提供的标签库主要分为五类: JSTL 前置名称 URI 范例 核心标签库 c http://java.sun.com/jsp/jstl/core <c

常用jstl

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <c:forEach var="boundItem" items="${boundItems}"> ${boundItem} </c:forEach> <c:if test=""></c:if> <c:choose&