JSP JSTL <sql:dateParam>標籤:填充日期型引數

2020-07-16 10:04:58
<sql:dateParam> 標籤與 <sql:param> 標籤功能相似,不過 <sql:dateParam> 主要用於為 SQL 語句填充日期型別的引數值。

語法:

<sql:dateParam value="value"[type="{timestamp|time|date}"]/>

引數說明:
  • value:日期引數,使用 java.util.Date 型別,可以參照 EL 表示式。
  • type:日期引數種類,其取值範圍可以選擇 time 時間型別、date 日期型別和 timestamp 日期與時間,也可以參照 EL 表示式。

範例1

本範例應用 <sql:dateParam> 標籤設定其數值為“2008-12-1”,用於查詢註冊日期為 2008-12-1 的使用者資訊,關鍵程式碼如下:
<%@page language="java" contentType="text/html;charset=GBK" pageEncoding="GBK"%>
  <%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
    <sql:setDataSource driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"
                       url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=db_testJSTL"
                       user="sa"password=""/>
    <%
       Date date = new Date(new GregorianCalendar(2008,11,1).getTimeInMillis());
       request.setAttribute("date",date);
     %>
      <sql:query var="rs" sql="SELECT*FROM tb_user WHERE createTime=?">
        <sql:dateParam value="${date}" type="date"/>
      </sql:query>

範例2

本範例在上一範例的基礎上加入對詳細時間時分秒的限定,將數值具體到“2008-12-1 15:24:12”,用以查詢註冊時間為“2008-12-1 15:24:12”的使用者資訊,關鍵程式碼如下:
<%@page language="java"contentType="text/html;charset=GBK" pageEncoding="GBK"%>
  <%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
    <sql:setDataSource driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"
                       url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=db_testJSTL"
                       user="sa"password=""/>
    <%
       Date date = new Date(new GregorianCalendar(2008,11,1,15,24,12).getTimeInMillis());
       request.setAttribute("date",date);
     %>
    <sql:query var="rs" sql="SELECT*FROM tb_user WHERE createTime=?">
      <sql:dateParam value="${date}" type="timestamp"/>
      </sql:query>