jstl标签库需要两个包jstl.jar和standard.jar

时间:2023-03-08 16:01:22

要使用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>