`

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" />元

这里的Value值是任何数值类型,pattern为要显示的格式,此处为显示小数点后两位. minFractionDigits="2" 代表要精确的位数.   记住,这里的值都是通过四舍五入得到的,并非完全精确!


<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
函数 描述
fn:contains(string, substring) 如果参数string中包含参数substring,返回true
fn:containsIgnoreCase(string, substring) 如果参数string中包含参数substring(忽略大小写),返回true
fn:endsWith(string, suffix) 如果参数 string 以参数suffix结尾,返回true
fn:escapeXml(string) 将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回
fn:indexOf(string, substring) 返回参数substring在参数string中第一次出现的位置
fn:join(array, separator) 将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。
fn:length(item) 返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是 String中的字符数。
fn:replace(string, before, after) 返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果
fn:split(string, separator) 返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素
fn:startsWith(string, prefix) 如果参数string以参数prefix开头,返回true
fn:substring(string, begin, end) 返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符${fn:substring("ABC","1","2")}截取结果为“ B ”。
fn:substringAfter(string, substring) 返回参数substring在参数string中后面的那一部分字符串
fn:substringBefore(string, substring) 返回参数substring在参数string中前面的那一部分字符串,${fn:substringBefore("ABCD","BC")}截取的结果为“ A ”。
fn:toLowerCase(string) 将参数string所有的字符变为小写,并将其返回
fn:toUpperCase(string) 将参数string所有的字符变为大写,并将其返回
fn:trim(string) 去除参数string 首尾的空格,并将其返回


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)}
分享到:
评论
1 楼 2047699523 2015-04-09  
java jstl标签库demo使用实例教程源代码下载:http://www.zuidaima.com/share/kjstl-p1-s1.htm

相关推荐

    <c:forEach>/jstl-1.2

    &lt;c:forEach&gt; 为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行&lt;c:forEach&gt;的本体内容。 语法 语法1:迭代一集合对象之所有成员 &lt;c:forEach [var="varName...

    JSTL标准标签库 <C:out>、<c:set>、<c:remove>和<c:catch>标记 <c:if>、<c:choose>、<c:when>和<c:otherwise>标记 <c:forEach>和<c:forTokens>标记

    ◎ JSTL的基本概念、安装与配置 ◎ JSTL的通用标记:&lt;c:out&gt;、&lt;c:set&gt;、&lt;c:remove&gt;和&lt;c:catch&gt;标记 ◎ 条件处理标记:&lt;c:if&gt;、&lt;c:choose&gt;、&lt;c:when&gt;和&lt;c:otherwise&gt;标记...◎ 循环标记:&lt;c:forEach&gt;和&lt;c:forTokens&gt;标记

    JSTL开发使用手册

    用于循环的 &lt;c:forEach&gt;?标签 用于分隔字符的 &lt;c:forTokens&gt;?标签? 用于包含页面的 &lt;c:import&gt; 用于得到 URL?地址的 &lt;c:url&gt;?标签? 用于页面重定向的 &lt;c:redirect&gt;?标签? 用于包含传递参数的?&lt;c:param&gt; 标签?.

    struts_jstl

    inf/lib下即可(如只使用EL表达式,无需引用这两个包)&lt;br&gt;&lt;br&gt;2、在jsp页面头部引入taglib方法如下:&lt;br&gt; &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core " %&gt;&lt;br&gt; &lt;%@ taglib prefix="fmt" uri=...

    jsp+javaBean+servlet分页

    这是一个jsp+javaBean+servlet分页 主要功能 是通过 jstl标签中的 &lt;c:forEach 中的开始 begin和末尾end、list结果集的items属性 操作整个分页。大家有兴趣看看

    第8章 JSTL.ppt

    爱好:&lt;c:forEach items="${paramValues.Habit}" var="habit"&gt; ${habit} &lt;/c:forEach&gt; 如果字符串是由逗号分隔的一组值,forEach也支持将其分割 &lt;c:forEach items="Monday,Tuesday,Wednesday" var="week"&gt; ${...

    数据库分页脚本 jsp

    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt; &lt;title&gt;ʽ&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;script type=...

    ajax、mysql、jstl实现分页、局部刷新界面

    &lt;/c:forEach&gt; &lt;/table&gt; &lt;div style="margin:0px 0px 0px 800px"&gt; 总共有${pageNum+1}页-第${currentPage+1}页-&lt;a href="index.jsp?currentPage=${currentPage-1}"&gt;上一页&lt;/a&gt; - &lt;a href="index.jsp?...

    基于工作任务的Java+Web应用教程第五章任务1-5.zip

    3.使用JSTL的&lt;c:forEach&gt;标签取代Category.isp和Produetjsp中的for循环语句。 (1)参考教材完成使用JSTL的&lt;c:forEach&gt;标签取代Category.jsp的for循环语句。 (2)自已完成使用JSTL的&lt;c:forEach&gt;标签取代Productjsp中的...

    简单的一个学生管理系统 servlet+JSP

    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;My JSP 'queryStudent.jsp' starting page&lt;/...

    EL表达式 (详解)

    EL表达式 (详解) EL表达式 1、EL简介 1)语法结构 ${expression} 2)[]与.... EL 提供.... 当要存取的属性名称中包含一些特殊...=或ne、&lt;或lt、&gt;或gt、&lt;=或le、&gt;=或ge 3.逻辑运算符有三个:&&或and、||或or、!或not ...

    JSP实例编程100例

    12、&lt;c:forEach&gt; begin、end和step的用法 13 、 &lt;c:forEach&gt; 循环 14、&lt;c:forEach&gt; varStatus 的四种属性 15、&lt;c:forEach&gt; 的用法 16、从客户端传送数据至服务端 17、使用Unicode转义字符 18、使用朝鲜语字符集 19、...

    JAP编程学习100例

    12、&lt;c:forEach&gt; begin、end和step的用法 13 、 &lt;c:forEach&gt; 循环 14、&lt;c:forEach&gt; varStatus 的四种属性 15、&lt;c:forEach&gt; 的用法 16、从客户端传送数据至服务端 17、使用Unicode转义字符 18、使用朝鲜语字符集 19、...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态...

    Java Oracle分页处理

    &lt;c:forEach var="pagetype" begin="1" end="${page.totalPages}"&gt; &lt;html:option value="pagetype" &gt;&lt;bean:write name="pagetype" /&gt;&lt;/html:option&gt; document.forms[0].page.options[${page....

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    5.2.3、第三种Scriptlet:&lt;%=%&gt; 5.3、Scriptlet标签 5.4、page指令 5.4.1、设置页面的MIME 5.4.2、设置文件编码 5.4.3、错误页的设置 5.4.4、数据库连接操作 5.5、包含指令 5.5.1、静态包含 5.5.2、动态...

Global site tag (gtag.js) - Google Analytics