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" %>

 

3 常用核心标签

(1)输出标签

   <c:out></c:out> 用来将指定内容输出的标签

(2)设置标签

   <c:set></c:set>用来设置属性范围值的标签

(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" %>

上一篇:JSP+EL+JSTL


下一篇:java jsp