JSTL标签库

Posted 好胖的兔子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSTL标签库相关的知识,希望对你有一定的参考价值。

  • 什么是JSTL
    • 是标签语言,是apache对EL表达式的扩展。
  • JSTL四大标签库
    • core:核心标签库
      • <c:out>输出
        <%-- 导入标签库 --%>
        <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
        
        <%
            String data = "fat rabbit";
            pageContext.getRequest().setAttribute("data", data);
        %>
        <%-- value可以是字符串常量,也可以是EL表达式 --%>
        <%-- escapeXml默认为true,若为false不转义,原样输出 --%>
        <c:out value="${data}" escapeXml="false"></c:out>

         

      • <c:set>创建/设置域属性
        <%-- 导入标签库 --%>
        <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

        <c:set var="data" value="fat rabbit" scope="request"></c:set>
        <%--escapeXml默认为true,若为false不转义,原样输出 --%>
        <c:out value="${data}" escapeXml="false"></c:out>

         

      •  <c:remove>删除域变量
        <%-- 导入标签库 --%>
        <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
        <%-- 若不指定scope,则表示删除所有域中的该名称的变量,若指定,则指删除指定域中该名称的变量 --%>
        <c:remove var="data" scope="request"></c:remove>

         

      • <c:url>指定一个路径,它会在路径前面自动添加项目名
        <%-- 导入标签库 --%>
        <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
        <%-- 若添加var属性,则url标签就不会输出内容到页面,而是生成url保存到域中 --%>

        <c:url value="/index.jsp" var="f"></c:url>

        <%-- 带参数的 --%>
        <c:url value="/index.jsp">
        <c:param name="isLogin" value="true"></c:param>
        </c:url>

         

      • <c:if>
        <%-- 导入标签库 --%>
        <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

        <c:if test="${empty param.data}"> data数据为null </c:if>

         

      • <c:choose>
        <%-- 导入标签库 --%>
        <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

        <c:choose > <c:when test="${empty param.data}"> data数据为null </c:when> <c:otherwise> data数据中有数据啦 </c:otherwise> </c:choose>

         

      • <c:foreach>
        <%-- 导入标签库 --%>
        <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

        <c:forEach var="i" begin="1" end="10"> ${i} </c:forEach>

        <%-- 类似于高级for的使用 --%>
        <%
        char[] datas = {‘f‘,‘a‘,‘t‘,‘r‘,‘a‘,‘b‘,‘b‘,‘i‘,‘t‘};
        %>
        <%-- items指定要循环的对象,可以是数组或集合。 --%>
        <%-- var创造变量,循环遍历获取items中每个值赋值给变量--%>
        <c:forEach items="${datas}" var="data">
        ${data}
        </c:forEach>

         

    • fmt:格式化标签库
    • sql:数据库标签库
    • xml:xml标签库




















以上是关于JSTL标签库的主要内容,如果未能解决你的问题,请参考以下文章

JSTL标签库

复习整理1:jsp标准标签库jstl

jsp之jstl核心标签库

JSP标准标签库:JSTL

JSP标准标签库:JSTL

JSTL标签库