006_JSTL

一. JSTL介绍

1. JSTL全称: JSP Standard Tag Library, jsp标准标签库。

2. 简化jsp的代码编写。替换<%%>写法。一般与EL表达式配合。

3. 使用JSTL

3.1. 使用JSTL需要先导入jstl.jar和standard.jar这2个jar包到工程的WebContent/Web-Inf/lib目录下。  

3.2. 在jsp页面上, 使用taglib 指令, 来引入标签库。

3.3. 注意: 如果想支持 EL表达式, 那么引入的标签库必须选择1.1的版本, 1.0的版本不支持EL表达式。1.1的版本如下所示:

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

4. 常用标签

4.1. 存值到某个域中: <c:set></c:set>

4.2. 条件判断标签: <c:if test=""></c:if>

4.3. 遍历集合标签: <c:forEach></c:forEach>

二. JSTL实例

1. 新建一个名称为JSTL的Web工程

2. 新建一个index.jsp, 使用set标签

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>jstl set</title>
	</head>
	<body>
		<!-- 
			var声明一个对象
			value对象的值
			scope存储的作用域, 默认是pageContext作用域
		 -->
		<c:set var="name" value="zhangsan" scope="session"/>
		
		${name}
	</body>
</html>

3. 新建一个jstl_if.jsp, 使用if标签, 做boolean判断, jstl没有else标签。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>jstl if</title>
	</head>
	<body>
		<!-- 向page作用域中存储一个age对象, 值为18 -->
		<c:set var="age" value="18" scope="page"/>
		
		<!-- 向session作用域中存储了一个 bigAgeResult对象, 值为test属性的结果-->
		<c:if test="${age > 18}" var="bigAgeResult" scope="session">
			年龄大于18
		</c:if>
		
		<c:if test="${age <= 18}" var="littleAgeResult" scope="session">
			年龄小于等于18
		</c:if>
		
		<br/>${sessionScope.bigAgeResult }
	</body>
</html>

4. 使用forEach标签遍历集合

4.1. 新建一个User.java

package com.lywgames.bean;

import java.io.Serializable;

public class User implements Serializable {
	private static final long serialVersionUID = 1L;

	private String name;
	private int age;

	public User(String name, int age) {
		this.name = name;
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
}

4.2. 新建一个jstl_foreach.jsp, 使用forEach标签遍历集合

<%@ page import="java.util.List"%>
<%@ page import="java.util.ArrayList"%>
<%@ page import="com.lywgames.bean.User"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>jstl forEach</title>
	</head>
	<body>
		<!-- 
			begin起始值
			end结束值
			step步长
			var不值存的一个对象 
		-->
		<c:forEach begin="1" end="10" var="value" step="2">
			${value}
		</c:forEach>
		<br/>
		<%
			List<User> users = new ArrayList<User>();
			users.add(new User("张三", 18));
			users.add(new User("小花", 16));
			
			session.setAttribute("users", users);
		%>
		<!-- items使用EL表达式访问域对象 -->
		<c:forEach var="user" items="${users}">
			[${user.name},${user.age}]<br/>
		</c:forEach>
	</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值