JSTL标签
1 基本概念
JSTL( JSP Standard Tag Library ) 被称为JSP标准标签库
开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护 难度
2 使用方式
下载JSTL的jar包并添加到项目中,下载地址为:https://tomcat.apache.org/download-taglibs.cgi
在JSP页面中使用taglib指定引入jstl标签库,方式为:
<!-- prefix属性用于指定库前缀 -->
<!-- uri 属性用于指定库的标识 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
示例:
<1>
<2>
3 常用核心标签
(1)输出标签
<c:out></c:out> 用来将指定内容输出的标签
示例
(2)设置标签
<c:set></c:set>用来设置属性范围值的标签
例子1:
例子2:
(3)删除标签
<c:remove></c:remove>用来删除指定数据的标签
(4)单条件判断标签
<c:if test = "EL条件表达式">
满足条件执行
</c:if>
例子:
(5)多条件判断标签
<c:choose>
<c:when test="EL表达式">
满足条件执行
</c:when>
...
<c:otherwise>
不满足上述when条件时执行
<c:otherwise>
</c:choose>
(6)循环标签
<c:forEach var="循环变量" items="集合">
...
</c:forEach>
例子:
4 常用函数标签
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
5 常用格式化标签
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
6 自定义标签
如果上面几个标签不能满足需求,程序员也可以自定义标签,步骤如下:
编写标签类继承SimpleTagSupport类或TagSupport类并重写doTag方法或doStartTag方法
public class HelloTag extends SimpleTagSupport { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public void doTag() throws JspException, IOException { JspWriter out = this.getJspContext().getOut(); out.println("自定义标签的参数为:" + name); } }
定义标签库文件(tld标签库文件)并配置标签说明文件到到WEB-INF下:
<tag> <name>helloTag</name> <tag-class>com.lagou.demo02.HelloTag</tag-class> <body-content>empty</body-content> <attribute> <name>name</name> <required>true</required> </attribute> </tag>
在JSP中添加taglib指令引入标签库使用:
<%@ taglib prefix="hello" uri="http://lagou.com" %>
7 练习