提供的jar包:jstl.jar 、standard.jar

在使用库标签之前务必先导包,语法

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

测试jsp页面,访问有输出即可。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ 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>
<body>
	<c:out value="测试测试测试"></c:out>
</body>
</html>

core标签库

1、<c:out>输出

	<c:out value="${param.username }" default="unknow" escapeXml="true"></c:out>
	<!-- 第二种表达方式 -->
	<c:out value="${ param.username}" escapeXml="true">unknow</c:out>

default:如果能获取到value的值,那么使用value的值,如果不能获取到,那么将使用default默认的值

escapeXml:当你的core标签里面写了HTML语法时,如果属性为true,则忽略html语法,如果为false,那么遵循HTML语法。默认为true

2,<c:if>

<body>
	<c:set var="key" value="1" scope="request" property="key"></c:set>
	<c:if test="${key==1 }">
		111
	</c:if>

</body>

test属性:返回值为true,则输出去标签内容

3、<c:choose>条件判断

<body>
	<c:choose>
		<c:when test="${empty param.user }">
			if测试
		</c:when>
		<c:when test="${param.user=='1' }">
			else if 测试
		</c:when>
		<c:otherwise>
			 else测试
		</c:otherwise>
	</c:choose>

</body>

4,<c:forEach>

这个标签有点类似Java的foreache循环,结果将输出数组内的所有元素

	<%
		//第一种,遍历数组
		String [] testarr = {"1","2","3","4","5"};
		request.setAttribute("test", testarr);
		//第二种遍历集合
		List li = new ArrayList();
		li.add("a");
		li.add("b");
		li.add("c");
		li.add("d");
		li.add("e");
		request.setAttribute("list", li);
		//第三种遍历键值对
		Map map = new HashMap();
		map.put("a", 1);
		map.put("b", 2);
		map.put("c", 3);
		map.put("d", 4);
		map.put("e", 5);
		request.setAttribute("map_test", map);
		//varStatus
		List li_2 = new ArrayList();
		li_2.add("aa");
		li_2.add("bb");
		li_2.add("cc");
		li_2.add("dd");
		li_2.add("ee");
		request.setAttribute("list_2", li_2);
	%>
	========遍历数组=========<br>
	<c:forEach var="s" items="${test }">
		${ s}<br>
	</c:forEach>
	========遍历集合=========<br>
	<c:forEach var= "li" items="${list }" begin="2" end="3">
		
		${li}<br>
	
	</c:forEach>
	========遍历键值对=======<br>
	<c:forEach var="map_tem" items="${map_test }">
	
		${map_tem.key } ---- ${map_tem.value }<br>
	
	</c:forEach>
	========varStatus属性========<br>
	<table border="1">
		<tr>
			<td>计数</td>
			<td>下标</td>
			<td>是否属于第一个元素</td>
			<td>是否属于最后一个元素</td>
			<td>元素的值</td>
		</tr>
		<c:forEach var="va"  items="${list_2 }" varStatus="aaa">
		<tr>
			<td>${aaa.count }</td>
			<td>${aaa.index }</td>	
			<td>${aaa.first }</td>	
			<td>${aaa.last }</td>	
			<td>${va }</td>	
		</tr>
		</c:forEach>

输出:

5,<c:param>和<c:url>标签

	使用绝对路径:<br>
	<c:url var="baiduUrl" value="https://xiaomoujia.cn">
		<c:param name="username" value="xiaomoujia"></c:param>
		<c:param name="age" value="11"></c:param>
	</c:url>
	<a href="${baiduUrl }">筱某佳博客绝对路径访问页面</a><br>
	使用相对路径<br>
	<c:url var="localUrl" value="Login.jsp?username=111&age=222"></c:url>
	<a href="${localUrl }">本地页面相对路径访问</a>
	

开发中的路径

1,绝对路径:

第一种:https://localhost:8080/Demo_11/test.jsp

第二种:/Demo_11/test.jsp

2,相对路径:如果同目录下直接访问test.jsp

说点什么
暂时没有人评论
Loading...