javaweb ——jstl

先导入jar包
https://mvnrepository.com/artifact/jstl/jstl/1.2

<!-- https://mvnrepository.com/artifact/jstl/jstl -->
		<dependency>
			<groupId>jstl</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!-- 引入jstl -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%-- <p>c:set 用于向域中添加数据或者修改已有的数据</p>
	<!-- 一下两种等价 -->
	request.setAttribute("name","张三");
	<c:set scope="request" var="name" value="张三" />
	<!-- 会按照域的大小挨着寻找 -->
	${ name }
	<!-- 会直接到request域中去找 -->
	${ requestScope.name }
	<!--============================================  -->

	<p>c:if 用于模拟简单的if ..else 结构</p>

	<c:set scope="request" var="score" value="88" />
	<!-- 如果test表达式为true则显示标签内容,false则不现实 -->
	<c:if test="${ score>=80 && score<90} }">优秀</c:if>




	<!--============================================  -->
	<p>c:forEach 用于遍历数组,集合</p>
	<!-- 申明一个数组存到request -->
	<% String [] arrs = new String[]{"张三","李四","王五" };
		request.setAttribute("arrs", arrs);
	%>
	<!--  items为接受的数组或集合 ,var 为遍历中的元素会暂时存到pageContext域中 -->
	<c:forEach items="${ arrs }" var="arr"   >
	${ arr }
	
	</c:forEach>
	
	<!--============================================  -->
	<p>c:forEach 用于遍历map</p>
	<!-- 申明一个map集合存到域中 -->
	<% Map map = new HashMap(); 
	map.put("name", "张三");
	map.put("age" , 55);
	request.setAttribute("use", map);
	%>
	<!-- map的一个键值对为一个entry对象 -->
	<c:forEach items="${ ues }" var="entry">
	${ entry }
	</c:forEach>
	<!-- 以下两种方法底层都是一样的使用get方法 -->
	<br>
	<c:forEach items="${ ues }" var="entry">
	${ entry.getKey() }  ${ entry.getValue() }
	</c:forEach>
	<br>
	<c:forEach items="${ ues }" var="entry">
	${ entry.key }  ${ entry.value }
	</c:forEach>
	
	<!--============================================  -->
	<p>c:forEach 用于遍历一个范围,如零到100中的偶数</p>
	<!-- begin为开始的数,end为结束的数(包头包尾) ,step为步长,varstaus为遍历状态  -->
	<c:forEach begin="0" end="100" step="2" var="i" varStatus="vs">
		<c:if test="${ i%2==0 }" >
		${ i }
		</c:if>
		${ vs.count }<!-- 表示遍历到第几次 -->
		${ vs.first }<!-- 返回值为布尔值,只有在第一次遍历时为true -->
		${ vs.last } <!--  只有最后一次遍历为true -->
	</c:forEach> --%>
	
	


</body>
</html>

示例:
jsp文件

<%@ 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>乘法表</title>
</head>
<body>
<c:forEach begin="1" end="9" var="i">
	<c:forEach begin="1" end="9" var="j">
		<c:if test="${ j <=i }">
			${ j }*${i } = ${ i*j } &nbsp;&nbsp;&nbsp;
		</c:if>
	</c:forEach>
	<br/>
</c:forEach> 
</body>
</html>

结果:

posted @ 2020-07-15 22:09  岁月染过的梦  阅读(127)  评论(0)    收藏  举报