Jstl标签库的配置:将jstl.jar和standard.jar拷贝到WEB-INF/lib下
Jstl的环境:j2ee1.4/servlet2.4/jsp2.0版本上的容器才能运行。
一,jstl的核心标签库
引入jstl的核心标签库
<%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core”%>
信息可以在standard.jar-->META-INF -à c.tld中找到
使用标签,如果要使用scope中的属性值,那么就要用el表达式
二,<c:out/>标签
该标签为输出value内容的标签
value:可以用el表达式取出scope的值;或者直接在value中写入值value=”546”
default:如果value是空,那么就是用default中的默认值
escapeXml:是否输出html,默认为true为不输出
<c:out value=”${hello}” default=”123” escapeXml=”false” />
el表达式自动输出html,所以只有需要默认值的时候采用该标签。
三,<c:set/>和<c:remove/>标签
<c:set/>标签设置value值的标签
var:设置的变量名称
value:设置的变量的值
<c:set value=”123” var=”temp”/>
该变量还可以使用el表达式得到${temp}
<c:remove/>标签删除设置的变量
<c:remove var=”temp”/>
四,<c:if></c:if>分支
在Action中设置值
request.setAttribute(“v1”,1);
request.setAttribute(“v2”,2);
request.setAttribute(“v3”,null);
jsp页面上代码
test:其中的值是判断是否成立的表达式,如果成立则进入c:if中
var:其中的值是一个变量,该变量保存的是test的值,true或者false
<c:if test=”${v1 < v2}” var=”v”>
V1小于v2=>${v}
</c:if>
<c:if test=”${empty v3}” >
V3是否为空
</c:if>
五,<c:choose>,<c:when>和<c:otherwise>
<c:choose>
<c:when test=”${v1 < v2}”>
V1小于v2
</c:when>
<c:when test=”$(v1 > v2)”>
V1大于v2
</c:when>
<c:otherwise>
V1等于v2
</c:otherwise>
</c:choose>
这个相当于if..else if..else
六,<c:forEach>
items:表示的是集合
var:表示的是集合中的元素
varStatus:表示的是递增的计数器
begin:从哪个索引开始
end:索引的结束值
step:表示循环的步长
<c:forEach items=”${userlist}” var=”u” varStatus=”vs” begin=”2” end=”8” step=”2”>
<c:choose>
<c:when test=”${vs.count %2==0}”>
<tr bgcolor=”reds”>
</c:when>
<c:otherwise>
<tr>
</c:otherwise>
</c:choose>
<td>
<c:out value=”${user.username}”/>
</td>
<td>
<c:out value=”${user.age}”/>
</td>
</c:forEach>
假设items里是一个map集合,那么var表示的就应该是一个entryset对象,那么就可以使用${u.key}=>${u.value}取得map的键值。
七,<c:forTokens>
将值分割并且循环输出
items:表示需要分割的字符
deline:按照该值分割
var:分割后集合的中某一个元素
<c:forTokens items=”${strTokens}” deline=”,” var=”v”>
${v}
</c:forTokens>
八,<c:catch>
该标签捕获异常
var:其值为异常信息
<c:catch var=”v”>
<%
Integer.parseInt(“asdfs”);
%>
</c:catch>
${v}
九,<c:import>
该标签引入文件
url:表示想要引入的页面
<c:import url=””></c:import>
十,<c:url>和<c:param>
<c:url>标签设置url,其中value表示的是url
<c:param>标签设置url传递的值,其中name表示的是传递参数的名称,value表示传递参数的值
value:为请求的url
<c:url value=”192.168.1.101:8080/user_add.jsp”>
<c:param name=” username” value=”j”/>
<c:param name=”age” value=”22”/>
</c:url>
十一,<c:rederect>
该标签为重定向标签
Context:表示的是相对路径的参考位置
url:表示的是相对url
<c:redirect context=”/struts_login” url=”/index.jsp”>
</c:redirect>