1、安装JSTL(标准标签库)
1)下载 jakarta-taglibs-standard-1.1.2.zip 包并解压,将 jakarta-taglibs-standard-1.1.2/lib/ 下的两个 jar 文件:standard.jar 和 jstl.jar 文件拷贝到 /WEB-INF/lib/ 下,下载链接:
http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/jakarta-taglibs-standard-1.1.2.zip
2)将需要引入的tld文件(标签库描述文件)复制到拷贝到 /WEB-INF/lib/ 下
(tld文件中将写好的类映射成jsp标签,然后可以在jsp页面中使用定义好的标签)
3)在web.xml文件中添加配置:
以下列出了常用的tld文件的uri和文件名
<jsp-config>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/fmt-rt</taglib-uri>
<taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core-rt</taglib-uri>
<taglib-location>/WEB-INF/c-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/sql</taglib-uri>
<taglib-location>/WEB-INF/sql.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/sql-rt</taglib-uri>
<taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/x</taglib-uri>
<taglib-location>/WEB-INF/x.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/x-rt</taglib-uri>
<taglib-location>/WEB-INF/x-rt.tld</taglib-location>
</taglib>
</jsp-config>
知识兔4)在使用该库的每个JSP的顶部包含一个 <taglib> 指令定义应用的标签库和访问前缀,例如:
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
2、核心标签库
1)定义:用于完成JSP页面的常用功能,包括JSTL的表达式标签(<c:out>、<c:set>、<c:remove>、<c:catch>)、URL标签(<c:import>、<c:redirect>、<c:url>、<c:param>)、流程控制标签(<c:if>、<c:choose>、<c:when>、<c:otherwise>)、循环标签(<c:foreach>、<c:forTokens>),他们的基本作用如下所示:
将表达式的值输出到JSP页面中,相当于JSP表达式<%=表达式%> | |
在指定范围中定义变量或为指定的对象设置属性值 | |
从指定的JSP范围中移除指定的变量 | |
捕获程序中出现的异常,并且将错误信息储存起来 | |
与Java语言中用的if语句类似 | |
本身只当做<c:when>和<c:otherwise>的父标签,与Java预言中的switch语句类似 | |
<c:choose>的子标签,用来判断条件是否成立 | |
<c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行 | |
导入站内或其他网站的静态和动态文件到Web页面中 | |
根据循环条件遍历数组和集合类中的所有或部分数据 | |
根据指定的分隔符来分隔字符串并迭代输出 | |
为其它标签提供参数信息,通常与其它标签结合使用 | |
重定向至一个新的URL | |
使用正确的URL重写规则构造一个URL |
2)<c:out>标签
①属性:
属性 | 描述 | 是否必要 | 默认值 |
value | 要输出的内容 | 是 | 无 |
default | 输出的默认值 | 否 | 主体中的内容 |
escapeXml | 指定是否转换特殊字符 | 否 | true |
②注意:
escape的值为true时不转换特殊字符,例如<转换后为<
只有value属性可以使用EL表达式
③使用示例:
<c:out value="${null}" default="hello" escapeXml="false"></c:out>
知识兔3)