JSP jstl核心标签库

jstl标签库

需要使用的jar文件:jstl.jar,standard.jar。
1.引入文件信息<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2.c: 使用标签

set标签

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" import="com.javaweb.beans.*,java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<br />--------------------c:set 为bean属性赋值------------------
	<br />
	<%
		Student stu = new Student();
		pageContext.setAttribute("stu", stu);
	%>
	<c:set value="里斯" property="name" target="${pageScope.stu}"></c:set>
	stu = ${stu}
	<br />
	<br />--------------------c:set 为Map属性赋值------------------
	<br />
	<%
		Map<String, Object> map = new HashMap<>();
		pageContext.setAttribute("map", map);
	%>
	<c:set value="历史" property="name" target="${pageScope.map}"></c:set>
	<c:set value="科目" property="types" target="${pageScope.map }"></c:set>
	map = ${map };
	<br /> map.value1 = ${map.name }; map.value2 = ${map.types };

remove标签

	<%
		Student stu = new Student();
		pageContext.setAttribute("stu", stu);
	%>
	<br />--------------------c:remove 删除------------------
	<br />
	<c:remove var="stu" />
	stu = ${stu };

catch标签

<br />--------------------c:cath 捕获异常------------------
	<br />
	<c:catch var="ex">
		<%
			int i = 3 / 0;
		%>
	</c:catch>
	ex = ${ex.message };

out标签

1.当EL表达式获取不到内容时,可以指定默认内容。
2.不指定escapeXml属性时,不会解析html代码
3.el表达式会自定解析html代码

	<br />--------------------c:out 输出------------------
	<br /> 
	xxx =<c:out value="${xxx}" default="计算机"></c:out>
	<br /> 
	xxx = ${empty xxx ? '计算机':xxx}
	<br />
	<c:set var="topic" value="<h1>我哎呦</h1>"></c:set>
	topic =<c:out value="${topic}"></c:out>
	<br /> 
	topic =<c:out value="${topic}" escapeXml="false"></c:out>
	<br /> topic = ${topic}

if标签

	<br />--------------------c:if------------------
	<br />
	<c:set var="username" value="张三"></c:set>
	<c:if test="${username == '张三'}">
		<a href="#">进入系统</a>
	</c:if>

choose标签

匹配原则类似于Java中的switch,逐行匹配,满足条件,退出。
标签中只能放<c:when> 和<c:otherwise>。

<br />--------------------c:choose------------------
	<br />
	<c:set var="pageNum" value="5"></c:set>
	<c:set var="pagetotal" value="5"></c:set>
	<c:choose>
		<c:when test="${pageNum == 1}">
			首页     上一页    <a href="#">下一页</a>
			<a href="#"> 末页 </a>
			<br />
			当前是${pageNum}/${pagetotal}
		</c:when>
		<c:when test="${pageNum == pagetotal}">
			<a href="#">首页</a>
			<a href="#">上一页</a>下一页 末页<br />
			当前是${pageNum}/${pagetotal}
		</c:when>
		<c:otherwise>
			<a href="#">首页</a>
			<a href="#">上一页</a>
			<a href="#">下一页</a>
			<a href="#">末页</a>
			<br />
		</c:otherwise>
	</c:choose>

forEach标签

<head>
<style type="text/css">
	.odd{
		background-color: blue;
	}
	.even{
		background-color: red;
	}
</style>
</head>
<br />--------------------c:forEach------------------
	<br />
	<%
		List<Student> stus = new ArrayList<>();
		stus.add(new Student(11,"张1"));
		stus.add(new Student(11,"张2"));
		stus.add(new Student(11,"张3"));
		stus.add(new Student(11,"张4"));
		stus.add(new Student(11,"张5"));
		stus.add(new Student(11,"张6"));
		stus.add(new Student(11,"张7"));
		pageContext.setAttribute("stus", stus);
	%>
	<table border="1">
		<tr>
			<th>序号</th>
			<th>年龄</th>
			<th>姓名</th>
		</tr>
		<c:forEach items="${stus }" var ="stu" varStatus="vs">
		<!--实现表格逐行变色-->
			<tr class="${vs.count % 2 ==0 ? 'odd':'even'}">
				<!--vs.count获取当前遍历的次数 -->
				<td>${vs.count}</td>
				<td>${stu.age}</td>
				<td>${stu.name}</td>	
			</tr>
		</c:forEach>
	</table>
发布了114 篇原创文章 · 获赞 8 · 访问量 5480

猜你喜欢

转载自blog.csdn.net/OVO_LQ_Start/article/details/104864716
今日推荐