maven库 可下载JSTL架包 需要下载jstl-1.2.jar、standard-1.1.2.jar这两个架包
JavaServer Pages Standard Tag Library (1.1 ) ,它的中文名称为 JSP 标准标签函数库。JSTL 是一个标准的已制定好的标签库,可以应用于各种领域,如:基本输入输出、流程控制、循环、XML 文件剖析、数据库查询及国际化和文字格式标准化的应用等。从表 7-1 可以知道,JSTL 所提供的标 签函数库主要分为五大类:
(1)核心标签库 (Core tag library)
(2)I18N 格式标签库 (I18N-capable formatting tag library)
(3)SQL 标签库 (SQL tag library)
(4)XML 标签库 (XML tag library)
(5)函数标签库 (Functions tag library) 表 。
使用前准备
(1)JSTL在用之前需要将jstl-1.2.jar、standard-1.1.2.jar两个包放在项目中WebContent下的WEB-INF中的lib目录下
(2)用时在jsp包中写入指令引库<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
解释:①<%@ %>:为jsp指令
② taglib :是指令名称,意思为标签库
③prefix="c" :前置名属性,通常都起名为c
④uri="http://java.sun.com/jsp/jstl/core":是地址,用核心库
应用
<!-- test相当于if中的条件 -->
<c:if test="5>2">
132
</c:if>
<!-- 接受域值的时候要写到{}中判断条件也要写到{}中 -->
<c:if test="${ age>18 }">
132
</c:if>
<!-- 当条件有&&条件时都写到一个{}中 -->
<c:if test="${ age>18 && age<60}">
132
</c:if>
<!--
for(String str:list){}
items="${list}" 相当于list
var="str" 相当于String str
begin="0" end="1" 从哪开始到哪里结束
step="1" 相当于i++, step="2" 相当于i+=2,
-->
<c:forEach items="${list}" var="str" begin="0" end="1" step="2" >
${str}
</c:forEach>
遍历String 类型的list
<!-- List<String> -->
<c:forEach items="${ strList }" var="str" >
${ str }
</c:forEach>
遍历对象类型的list
<!-- List<Userinfo> -->
<c:forEach items="${ userList }" var="user" >
${ user.username },${ user.password }
</c:forEach>
遍历String类型的map
<!-- Map<String,String> -->
<c:forEach items="${ map }" var="map">
${ map.key },${ map.value }
</c:forEach>
遍历对象类型的map
<!-- Map<String,Userinfo> -->
<c:forEach items="${ userMap }" var="map">
${ map.key },${ map.value.username },${ map.value.password }
</c:forEach>
遍历list嵌套对象类型的map
<!-- List<Map<String,Userinfo>> -->
<c:forEach items="${ listMap }" var="map">
<c:forEach items="${ map }" var="entry">
${ entry.key },${ entry.value.username },${ entry.value.password }
<br>
=====================
<br>
</c:forEach>
</c:forEach>
如果map中的value值是对像类型的需要套第二次循环将每个value值拿出来,
然后将值点出来;如果map中的value值是数据类型则不用套第二层循环,
直接用map点key值就能取出value值
网友评论