0
点赞
收藏
分享

微信扫一扫

JSTL -- JSP 标准标签库

40dba2f2a596 2022-04-21 阅读 63
前端

JSTL

文章目录


Tips

  1. JSP Standard Tag Library,JSP 标准标签库

    是一个不断完善的开放源代码的 JSP 标签库

  2. EL 表达式主要是为了替换 jsp 中的表达式脚本

    标签库则是为了替换代码脚本,使得整个 jsp 页面更加简洁

标签库

相关jar包

  1. taglibs-standard-impl-1.2.1.jar

  2. taglibs-standard-spec-1.2.1.jar

五大标签库

有些情况下,会发现 uri 中没有提示,此时只需要将standard.jar/meta-inf/c.tld文件放到 WEB-INF下

功能范围taglib 引入标签库前缀
核心标签库<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>c
格式化<%@ taglib prefix=“fmt” uri=“http://java.sun.com/jsp/jstl/fmt” %>fmt
函数<%@ taglib prefix=“fn” uri=“http://java.sun.com/jsp/jstl/functions” %fn
数据库(不使用)<%@ taglib prefix=“sql” uri=“http://java.sun.com/jsp/jstl/sql” %>sql
XML(不使用)<%@ taglib prefix=“x” uri=“http://java.sun.com/jsp/jstl/xml” %>x

core

<c:set />(使用很少)

set 标签可以往域中保存数据

<c:set scope="session" var="abc" value="abcValue"/>
${ sessionScope.abc }

<c:if />

<c:if test="${ 12 == 12 }">
	<h1>12 等于 12</h1>
</c:if>

<c:choose> <c:when> <c:otherwise>

  1. 标签里不能使用 html 注释要使用 jsp 注释
  2. when 标签的父标签一定要是 choose 标签
<%
	request.setAttribute("height", 180);
%>

<c:choose>
<%--jsp 注释** --%>
	<c:when test="${ requestScope.height > 190 }">
		<h2>小巨人</h2>
	</c:when>
	<c:when test="${ requestScope.height > 180 }">
		<h2>很高</h2>
	</c:when>
	<c:when test="${ requestScope.height > 170 }">
		<h2>还可以</h2>
	</c:when>
	<c:otherwise>
		<h2>emm</h2>
	</c:otherwise>
</c:choose>

<c:forEach />

  1. 数字范围
<c:forEach begin="1" end="10" var="i">
	第${i}行
</c:forEach
  1. 遍历 Object 数组
<%
	request.setAttribute("arr", new String[{"123","AAA","!!!"});
%>
<c:forEach items="${ requestScope.arr }" var="item">
	${ item } <br>
</c:forEach
  1. 遍历 Map 集合
<%
	Map<String,Object> map = new HashMap<String, Object>();
	map.put("key1", "value1");
	map.put("key2", "value2");
	map.put("key3", "value3");

	request.setAttribute("map", map);
%>
<c:forEach items="${ requestScope.map }" var="entry">
	<h1>${entry.key} = ${entry.value}</h1>
</c:forEach>
  1. 遍历 List 集合
<c:forEach begin="2" end="7" step="2" varStatus="status" items="${requestScope.stus}" var="stu">
<tr>
	<td>${stu.id}</td>
	<td>${stu.username}</td>
	<td>${stu.password}</td>
	<td>${stu.age}</td>
	<td>${stu.phone}</td>
	<td>${status.step}</td>
</tr>
</c:forEach

fmt

${date}
<fmt:formatDate value="${date}" ></fmt:formatDate>
<fmt:formatDate value="${date}" pattern="yyyy-MM-dd"></fmt:formatDate>
<fmt:formatDate value="${date}" pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate>
举报

相关推荐

0 条评论