什么是JSTL标签库
JSTL标签库,全称是指 JSP Standard Tag Library JSP标签库。是一个不断完善的开放源代码的jsp标签库。
EL表达式主要是为了替换jsp中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个jsp页面变得更加简介。
JSTL五个不同功能的标签库组成:
引用:<%@ taglib prefix=“前缀” uri=“你要引用的标签库的url”>
JSTL标签库的使用
a)如何可以使用标签库
- 先导入就是jstl标签库的jar包
b)core核心库的使用
- <c:set />
用来保存域对象
<!--
以前:域对象.setAttribute(key,value);
现在:<'c:set scope="" var="" value="" step="">
scope:表示你要保存的域对象
page 表示 pageContext域
request 表示 request域
session 表示 Session域
application 表示 ServletContext域
var:代表key的值
value:代表value的值
step:代表这不步长值
-->
<c:set scope="request" var="key" value="asdas"></c:set>
- <c:if/>
用来if判断
<!--
<'c:if test=""/>
test:属性表示判断的条件(使用EL表达式)
-->
<c:if test="${17==17}">
17等于17<!--正确那么就输出标签中间的内容-->
</c:if>
- <c:chose> <c:case> <c:otherwise>
<%--
<c:choose><c:when><c:otherwise>
作用:多路判断,跟switch ...case ..default 相似
choose标签开始判断选择
when判断每一种情况 test表示当前这种判断情况的值
otherwise标签表示剩下的情况
注意:1、标签中不可以使用html注释,要使用jsp注释
2、when标签的父标签一定要是choose标签
<c:set scope="request" var="key" value="12"></c:set>
<c:choose>
<c:when test="${requestScope.key==123}">
刚好是123
</c:when>
<c:when test="${requestScope.key>123}">
刚好大于123
</c:when>
<c:otherwise >
刚好小于123
</c:otherwise>
</c:choose>
--%>
- 使用<C:forech begin=" " end ="" var="" >标签循环10次
<%--
遍历1到10
begin 表示开始的索引
end 表示结束的缩影
var 表示循环的变量(也表示当前正在遍历的数据)
--%>
<c:forEach begin="1" end="10" var="i">
<h1>${i}</h1>
</c:forEach>
- 使用<c:forech item=" " >遍历objec对象
<%--
遍历object的数组
for{Object item:arr}
items 表示遍历的数据源(遍历的集合)
var表示遍历到的数
--%>
<%
String[] string = new String[]{"31656","5135asd","zxcasd"};
request.setAttribute("set",string);
%>
<c:forEach items="${set}" var="i">
${i}
</c:forEach>
- 使用<c: forech items="" var>遍历map数组
<%
HashMap<Object, Object> hasmap = new HashMap<>();
hasmap.put("key",123);
hasmap.put("key1",12345);
request.setAttribute("hasmap",hasmap);
%>
<%--
for(map.entry<String,object> entry :map.entryset()){}
--%>
<c:forEach items="${hasmap}" var="i">
<h1> ${i.key}</h1> <h1>${i.value}</h1>
</c:forEach>
- <c:forEach varStatus=""> varStatus的作用表示当前该数据的状态