这里主要记录的是JSTL中的一个核心标签库(core),并且简单的讲解几个标签的用法。
Java Server Pages 标准标签库(JSTL)包含的各种标签用于JSP页面中。
JSTL 的优点:
提供一组标准标签
可用于编写各种动态 JSP 页面
用于访问数据库、有条件地执行代码和支持国际化
JSTL的组成:
功能范围 URI 前缀
core(核心) http://java.sun.com/jsp/jstl/core c
I18N http://java.sun.com/jsp/jstl/fmt fmt
SQL http://java.sun.com/jsp/jstl/sql sql
XML http://java.sun.com/jsp/jstl/xml x
funcions http://java.sun.com/jsp/jstl/functions fn
JSP默认是不支持JSTL的,所以要引入
prefix="c";映射的意思,双引号中的c就是简写uri中双引号里的内容了。
核心标签库
|----通用标签
| |----set <c:set>用于在某个范围(Request,Session,Application等)中设置某个值,或者设置某个对象的属性
| |----remove <c:remove>用于删除某个变量或者属性
| |----out <c:out>计算一个表达式并将结果输出到当前的JspWrite对象。
| |----catch <c:catch>将可能抛出异常的代码放置在<c:catch>和</c:catch>之间,如果其中的代码抛出异常,异常将被捕获
|
|----条件标签
| |----if <c:if>实现java语言中if语句的功能
| |----choose <c:choose>、<c:when>、<c:otherwise>一起实现互斥条件的执行,类似于java语言的if/else语句
| |----when
| |----otherwise
|
|-----迭代标签
|----forEach <c:forEach>对于包含了多个对象的集合进行迭代,重复执行它的标签体,或者重复迭代固定的次数
|----forTokens <c:forTokens>用于迭代字符串中由分隔符的各个成员
用法
set用法
value指的是值,scope指的是范围,var指的是变量
<c:set value="${pageContext.request.contextPath }" scope="page" var="ctx"></c:set>
<p>ctx的值:${ctx}</p>
remove用法
<c:set value="${pageContext.request.contextPath }" scope="page" var="ctx"></c:set>
<c:set value="${pageContext.request.contextPath }" scope="page" var="ctx1"></c:set>
<p>ctx的值:${ctx}</p>
<%--remove移除 --%>
<p>ctx1的值:${ctx1}</p>
<c:remove var="ctx1" scope="page"/>
<p>ctx1的值:${ctx1}</p>
remove的结果图,在没有使用remove前,是没有删除ctx1值的。
使用总结:执行顺序是从上往下运行的。默认是page(最小)
JSP 作用域(变量的存储范围)包括 page、request、session 、application
out用法
catch 捕获异常,输出异常
if的使用
<c:if test ="${5<10}" var="ifvalue">
<p>5小于10</p>
<p>ifvalue的值:${if1}</p>
</c:if>
<c:choose>、<c:when>、<c:otherwise>使用
其实上面的代码格式是与下图格式相同的。
<c:choose>的内容只能有空白;
1个或多个<c:when>;
0个或1个<c:otherwise>
迭代器
jsp代码,下面这个是集合的代码,数组也可以。把参数放进去即可。items就是要迭代的数组。