jstl标签库需要两个包jstl.jar和standard.jar
要使用jstl的标签库,将文件复制到WEB-INF/lib目录下,需要在jsp源文件的首部加入如下声明语句(一般放在page语句之后)
核心(core) <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
XML<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
国际化(Internationlization)<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
数据库(Database)<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
函数(functions) <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<c:out>知识点:
<!-- 没有body时的语句 -->
<c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"]/>
<!-- value为输出的信息,default是value为空时显示的信息 escapeXml为true则避开特殊的xml字符集 -->
<!-- 有body时的语句 -->
<c:out value="value" [escapeXml="{true|false}"] >
这里是body部分
</c:out>
<!-- 用<c:out>输出javaBean属性值时表达式语句为${javaBeanName.javaBeanPropertyName} -->
<c:set>知识点:
<!-- <c:set>用于保存数据 -->
1)<c:set value="Expression" var="varName" [scope="page|request|session|application"]/>
2)<c:set var="varName" [scope="page|request|session|application"]>ValueExpression</c:set>
3)<c:set value="Expression" target="targetName" property="propertyName"/>
4)<c:set target="targetName" property="propertyName">ValueExpression</c:set>
<!-- target需要修改属性的变量名,一般为javaBean的实例 property需要修改的javaBean属性 var需要保存信息的变量 scope保存信息的变量的范围 -->
<c:remove>知识点
<!-- <c:remove>用于删除数据 -->
<c:remove var="varName" [scope="page|request|session|application"]/>
<c:remove var="test2" scope="session"/><!-- 从session中删除test2变量 -->
<c:catch>知识点
<!-- <c:catch>用于捕获嵌套在它里面的程序代码抛出的异常 -->
<c:catch[var="varName"]> 需要捕获异常的标签语句,java程序,HTML代码等</c:catch>
<c:choose><c:when><c:otherwise>知识点 (test为判断条件boolean)
<c:choose>
<c:when test="testCondition">
body content1
</c:when>
<c:when test="testCondition">
body content2
</c:when>
<c:otherwise>
body content3
</c:otherwise>
</c:choose>