【JSTL】--JSTL表达式:c:forEach,varstatus/begin end/循环控制标签--drp215

jstl_core.jsp

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>
<%@ page import="com.bjpowrnode.jstl.*" %>
<%@ page import="java.util.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
	<h3>采用forEach标签,varstatus</h3><br>
	<table border="1">
		<tr>
			<td>用户名称</td>
			<td>年龄</td>
			<td>所属组</td>

		</tr>
		<c:choose>
			<c:when test="${empty users}">
				<tr>
					<td colspan="3">没有符合条件的数据</td>
				</tr>
			</c:when>
			<c:otherwise>
				<c:forEach items="${users }" var="user" varStatus="vs">
					<c:choose>
						<c:when test="${vs.count mod 2==0 }">
							<tr bgcolor="red">
						</c:when>
						<c:otherwise>
							<tr>
						</c:otherwise>
					</c:choose>
							<td>${user.username}</td>
	 						<td>${user.age }</td>
	 						<td>${user.group.name }</td>
							<tr>

				</c:forEach>
			</c:otherwise>
		</c:choose>

	</table>

	 <h3>采用forEach标签,begin ,end</h3>
	 <table border="1">
	 	<tr>
	 		<td>用户名称</td>
	 		<td>年龄</td>
	 		<td>所属组</td>
	 	</tr>
	 	<c:choose>
	 		<c:when test="${empty users }">
	 			<tr>
	 				<td colspan="3" >没有符合条件的数据</td>
	 			</tr>
	 		</c:when>
	 		<c:otherwise>
	 			<c:forEach items="${users}" var="user" begin="2" end="8" step="2">
	 				<tr>
	 					<td>${user.username}</td>
	 					<td>${user.age }</td>
	 					<td>${user.group.name }</td>
	 				</tr>
	 			</c:forEach>

	 		</c:otherwise>

	 	</c:choose>
	 </table>

	<li>演示循环控制标签:forEach,输出Map</li><br>
	<c:forEach items="${map }" var ="entry">
		${entry.key },${entry.value}<br>
	</c:forEach>

	<li>循环控制标签:forTokens</li><br>
	<c:forTokens items=	"${strTokens}" delims="#" var="v">
		${v }<br>
	</c:forTokens>

</body>
</html>

JstlCoreServlet

/**
 *
 */
package com.bjpowrnode.jstl;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @ClassName:JstlCoreServlet
 * @Description:TODO
 * @author wm
 * @date 2016年2月15日上午11:40:32
 */
public class JstlCoreServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//普通字符串
		request.setAttribute("hello","Hello World!");
		request.setAttribute("welcome", "<font color=‘red‘>欢迎你来到这个世界!</font>");

		//条件控制标签、
		request.setAttribute("v1", 10);
		request.setAttribute("v2", 20);

		request.setAttribute("userList", new ArrayList());

		//结构
		Group group =new Group();
		group.setName("动力节点drp 603班");

		List users=new ArrayList();
		for(int i =0;i<10;i++){
			User user=new User();
			user.setUsername("张三_"+i );
			user.setAge(23+i);
			user.setGroup( group);
			users.add(user);
		}

		request.setAttribute("users", users);

		//map
		Map map=new HashMap();
		map.put("k1", "v1");
		map.put("k2", "v2");
		map.put("k3", "v3");
		map.put("k4", "v4");
		request.setAttribute("map", map);

		//forTokens
		request.setAttribute("strTokens", "1#2#3#4#5");

		request.getRequestDispatcher("/jstl_core.jsp").forward(request, response);
	}

}
时间: 2024-08-07 21:18:57

【JSTL】--JSTL表达式:c:forEach,varstatus/begin end/循环控制标签--drp215的相关文章

c:forEach varStatus 属性

c:forEach varStatus 属性 current: 当前这次迭代的(集合中的)项 index: 当前这次迭代从 0 开始的迭代索引 count: 当前这次迭代从 1 开始的迭代计数 first: 用来表明当前这轮迭代是否为第一次迭代的标志 last: 用来表明当前这轮迭代是否为最后一次迭代的标志 begin: 属性值 end: 属性值 step: 属性值 例如: <c:foreach items="${sessionScope.userList}" var="

&lt;c:forEach varStatus=&quot;status&quot;&gt;中 varStatus的属性简介

我们常会用c标签来遍历需要的数据,为了方便使用,varStatus属性可以方便我们实现一些与行数相关的功能,如:奇数行.偶数行差异:最后一行特殊处理等等.先就varStatus属性常用参数总结下: ${status.index}      输出行号,从0开始. ${status.count}      输出行号,从1开始. ${status.current}   当前这次迭代的(集合中的)项 ${status.first}  判断当前项是否为集合中的第一项,返回值为true或false ${st

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 el表达式对form表单的功能进行区分 比如新建和修改共用一个form

新建一个专栏,修改这个专栏信息 完全可以做在一个jsp的一个form中 但是,需要注意的是,使用mvc的对象属性自动封装的话 如果id为空,将会报错,无法进入controller中的 所以要在页面上判断,id是不是大于0,大于0表示已经传来了一个model这时候把id设为隐藏域 并且执行修改操作 <c:choose> <c:when test="${columnModel.id>= '0'}"> id存在,将执行update操作 <input typ

&lt; c: foreach varStatus = &ldquo;status&rdquo; &gt; 中 varStatus的属性简介

varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性. 就拿varStatus="status"来说,事实上定义了一个status名的对象作为varStatus的绑定值. 该绑定值也就是status封装了当前遍历的状态,比如,可以从该对象上查看是遍历到了第几个元素:${status.count} 我们常会用c标签来遍历需要的数据,为了方便使用,varStatus属性可以方便我们实现一些与行数相关的功能,如:奇数行.偶数行差异:最后一行

JavaWeb——&lt;c:forEach varStatus=&quot;status&quot;&gt;

我们常会用c标签来遍历需要的数据,为了方便使用,varStatus属性可以方便我们实现一些与行数相关的功能,如:奇数行.偶数行差异:最后一行特殊处理等等.先就varStatus属性常用参数总结下: ${status.index}      输出行号,从0开始. ${status.count}      输出行号,从1开始. ${status.current}   当前这次迭代的(集合中的)项 ${status.first}  判断当前项是否为集合中的第一项,返回值为true或false ${st

JSP标准标签库(JSTL)--JSTL简介与安装

对于MVC设计模式来讲,我们一直强调,在一个JSP钟scriptlet代码越少越好,但是只靠以前的概念很难实现,因为标签的开发特别麻烦,所以为了简化标签,也为了让标签更具备一些通用性,所以一般在开发中(不使用框架前提下),可以使用JSTL组件完成开发的任务. JSTL:JSP Standard Tag Library,JSP标准标签库. 开发环境:JDK1.6, Tomcat6.0,来说,JSTL的稳定版本是1.2 下载下来jstl-1.2.jar,里面主要有以下标签库分类: 1. c.tld:

7.4{JSTL}(JSTL简介)(基本配置步骤)

1: url:http://java.sun.com/jsp/jstl/core 2:JSTL的配置步骤 下载的 url:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/jakarta-taglibs-standard-1.1.2.zip 步骤: 最后:在jsp文件中 原文地址:https://www.cnblogs.com/jiafeng1996/p/12327485.html

jstl c:choose&gt;、&lt;c:when&gt;和&lt;c:otherwise&gt;标签

<c:choose>.<c:when>和<c:otherwise>在一起连用,可以实现Java语言中的if-else语句的功能.例如以下代码根据username请求参数的值来打印不同的结果: <c:choose> <c:when test="${empty param.username}"> Nnknown user. </c:when> <c:when test="${param.username