引入jstl-1.2.jar
引入jstl.jar和stardard.jar
1.2只需要引入一个jar包,之前的一定要引入两个jar包
core标签库
| 通用标签 | 使用方法 | 说明 |
|---|---|---|
| out标签 | <c:out value="要输出的值"/></c:out> |
输出值 |
| set标签 | <c:set value="value" val="variableName"[scope="page,request,session,application"] |
定义变量 |
| remove标签 | <c:remove var="variableName" [scope="{page,request,session,application}"] |
移除变量 |
| catch标签 | <c:catch [var="varName"]>处理代码</c:catch> |
var简单的处理而不做保存 |
默认定义的变量在page域中
| 条件标签 | 使用方法 | 说明 |
|---|---|---|
| if标签 | <c:if test="">判断成功的语句</c:if> |
没有说明 |
| choose标签 | <c:choose><c:when test="">代码块</c:when><c:otherwise>默认代码块</c:otherwise></c:choose> |
otherwise块不是必须的 |
| 迭代标签 | 使用方法 | 说明 |
|---|---|---|
| forEach() | <c:forEach [var="varName"] items="collection" [varStatus="varStatusName"][begin="begin"][end="end"][step="step"]>body</c:forEach> |
varStatus包含迭代的信息 begin指定从数组的哪一个开始,end执行结束,step执行步长 |
| forTokens | 看下面 | 没有说明 |
varStatus 循环属性 varStatus="status"
用status绑定varStatus
| 特性 | Getter | 描述 |
|---|---|---|
| current | getCurrent() | 当前迭代(集合)的项 |
| index | getIndex() | 当前这次迭代从0开始的迭代索引 |
| count | getCount() | 当前这次迭代从1开始的迭代计数 |
| first | isFirst() | 用来表明当前这次迭代是否为第一次迭代的标志 |
| last | isLast() | 用来表明当前这次迭代是否为最后一次迭代的标志 |
| begin | getBegin() | 得到begin属性值 |
| end | getEnd() | 得到end属性值 |
| step | getStep() | 得到step属性值 |
重写和重定向不懂
| 导入及重定向标签 | 使用方法 | 说明 |
|---|---|---|
| 跟include动作类似,但是可以导入其他web的内容 | <c:import url="url" [context="context"][var="varName"][scope="page,request,session,application"][charEncoding="charEncoding"]>{<c:param name="name" value="value"/>}</c:import> |
没有说明 |
| url(使用url重写规则构建一个url) | <c:url value [context="context"] [scope="{page,request,session,application}"]/> |
没有说明 |
| redirect重定向 | <c:redirect url="value" [cntext="context"]>{<c:param name="name" value="value">}</c:redirect> |
重定向同时可以给另一个页面传递参数 |
jsp的编译器指令 page,include,taglib
include指令与 <c:import> 作用类似。 <%@ include file="head.jsp"%>
也要区分page指令中的 <%@page import="java.lang.util"%> 在页面中引入java类