Java學習路線-54: JSTL(標準標籤庫)

第 9 章 : JSTL(標準標籤庫)

資料:
JSP 標準標籤庫(JSTL)

JSTL 是對 EL 表達式的擴展標籤語言

pom.xml

<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>
<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>

JSTL 四大標籤庫

  1. core 核心標籤庫 學習重點
  2. fmt 格式化標籤庫 只需要學習日期,數字
  3. sql 數據庫標籤庫 過時了
  4. xml xml 標籤庫 過時了

導入標籤庫

<% @taglib prefix="前綴" uri="路徑" %>

核心標籤庫 core,c 標籤

out 和 set
remove
url
if
choose
forEach

out 輸出

<c:out
    value="<string>" 內容
    default="<string>" 默認值
    escapeXml="<true|false>" 轉義
    />

示例

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:out value="name" default="Tom" />

set 設置

<c:set
   var="<string>" 變量
   value="<string>" 值
   target="<string>" 對象
   property="<string>" 屬性
   scope="<string>" 作用域
   />

remove 刪除數據

<c:remove
    var="<string>" 變量名稱
    scope="<string>" 作用域
    />

url 將 URL 格式化爲一個字符串

<c:url
  var="<string>" 變量名
  scope="<string>" 作用域
  value="<string>" 基礎URL
  context="<string>" 本地網絡應用程序的名稱
/>

<!-- 指定參數 -->
<c:param name="<string>" value="<string>"/>

示例

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:url value="/name" />
<!-- 輸出:/demo/name -->

<!-- 等價於 -->
${pageContext.request.contextPath}/name


<c:url value="/name">
    <c:param name="key" value="value"/>
</c:url>

<!-- 輸出 /demo/name?key=value -->

if 和 choose 標籤

<c:set var="name" value="Tom" />

<c:if test="${not empty name}">
    <c:out value="${name}" />
</c:if>

forEach 標籤

<c:forEach var="i" begin="1" end="5">
    ${i}
</c:forEach>
<% String[] arr = {"big", "pig"};  %>

<% request.setAttribute("arr", arr); %>
<!-- 或者 -->
<c:set var="arr", value="${arr}" />

<c:forEach items="${arr}" var="item" >
    ${item}
</c:forEach>

循環狀態變量

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.ArrayList"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%
    ArrayList<String> list = new ArrayList<String>();
    list.add("Tom");
    list.add("Jack");
    list.add("Steve");

    // 加到域對象中
    pageContext.setAttribute("list", list);
%>

<c:forEach items="${list}" var="item" varStatus="status">
    ${status.count}${item}
</c:forEach>

屬性

status.count 元素個數
status.index 元素下標
status.first 是否爲第一個元素
status.last 是否爲最後一個元素
status.cuttent 當前元素

fmt 標籤格式化

<%@ page
    language="java"
    contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"
    import="java.util.Date"
    %>

<%@ taglib
    prefix="fmt"
    uri="http://java.sun.com/jsp/jstl/fmt"
    %>

<!-- 格式化日期 -->
<%
Date date = new Date();
pageContext.setAttribute("date", date);
%>

<fmt:formatDate value="${date}" pattern="yyyy-MM-dd HH:mm:ss" />
<!-- 2020-05-16 23:32:34 -->


<!-- 格式化數字 -->
<%
pageContext.setAttribute("num", 3.141592653);
%>

<fmt:formatNumber value="${num}" pattern="0.00" />
<!-- 3.14 -->
0.00 不足 0 補位
#.## 不足不補位
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章