天天看點

JSTL标簽整理

                         JSTL标簽

<o:p> </o:p>

包括以下幾個标簽庫:

     核心标簽庫           http://java.sun.com/jsp/jstl/core       c

     Xml标簽庫           http://java.sun.com/jsp/jstl/xml       x

     國際化/格式化标簽庫   http://java.sun.com/jsp/jstl/fmt       fmt

     資料庫标簽庫         http://java.sun.com/jsp/jstl/sql        sql

     EL自定義函數        http://java.sun.com/jsp/jstl/functions   fn

<o:p> </o:p>

注: 文法說明

[…]:表示括号中的内容是可選的

{option1| option2| option3| option4|….}:花括号中的”|”字元分隔的各個選項不能同時出現,隻能選一個.

屬性的值字型加粗,表示這個值是對應屬性的預設值

屬性的值斜體,表示該屬性可以是表達式

标簽的内容用斜體,表示标簽體的内容可以是jsp代碼.

<o:p> </o:p>

核心标簽庫:

<o:p> </o:p>

<c:out>文法: (1) <c:out value=”value” [escapeXml=”${true|false}”]

 [default=” defaultValue”]  />

           (2) <c:out value=”value” [escapeXml=”${true|false}”]>

                    default value<o:p></o:p>

              </c:out>

<o:p> </o:p>

                         <c:out>标簽屬性說明

<o:p> </o:p>

屬性名    是否支援EL     屬性類型     屬性描述
   value     true      Object 指定輸出的内容
   escapeXml     true      boolean 是否将 >,<,’,”,&,等特殊字元進行HTML編碼轉換後再進行輸出,預設是true.
   default     true      Object

如果value屬性的值為null時,所輸出的預設值.

如果沒有指定預設值,預設為null字元串.

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

                             特殊字元轉換表

<o:p> </o:p>

         字元           字元實體編碼
          <             &lt;
          >             &gt;
          &             &amp;
          ‘             &#039;
          “             &#034t;

<o:p> </o:p>

當escapeXml=true時,對特殊字元輸出為字元實體編碼中對應的值.

當escapeXml=false時,則不對特殊字轉換,直接輸出<,>,&,’,”

<o:p> </o:p>

例子1:

Out1.jsp

<o:p> </o:p>

<%

    session.serAttribute(“test_session”,”zhangfan”);

%>

<c:out value=”test” default=”<st1:chmetcnv tcsc="0" hasspace="False" sourcevalue="123456" numbertype="1" negative="False" unitname="”" w:st="on">123456”</st1:chmetcnv>/><br/>

<c:out value=”${test_request}” default=”這個屬性不存在”/><br/>

<c:out value=”${test_session}” /><br/>

運作結果:

   test

   這個屬性不存在

   zhangfan

<o:p> </o:p>

例子2:

     Out2.jsp

     <c:out value=”${null}”>

          <meta http-equiv=”refresh” content=”0;url=http://www.it315.org”/>

     </c:out>

運作結果:

     <meta http-equiv=”refresh” content=”0;url=http://www.it315.org”/>

<o:p> </o:p>

例子3:

把例2中<c:out value=”${null}”>變成<c:out value=”${null}” escapeXml=”false”>其他不變.

運作結果:

顯示http://www.it315.org這個網頁.

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

  <c:if>标簽文法:

          (1)<c:if test=”testCondition” var=”varname”

[scope=”{

page

|request|session|application}”] />

          (2) <c:if test=”testCondition” var=”varname”

[scope=”{

page

|request|session|application}”] >

body content<o:p></o:p>

             </c:if>

<o:p> </o:p>

                  <c:if>标簽屬性

屬性名   是否支援EL    屬性類型     屬性描述
     test     true     boolean 是否處理标簽體中的内容的條件表達式
     var     false     String 用于指定将test屬性的執行結果儲存在某個web域中的某個屬性的名稱
     scope     false     String 指定将test屬性的執行結果儲存在哪個web域中

<o:p> </o:p>

先寫一個UserBean類,此類在org.it315包下.

public class UserBean{

    private String username;

    private String password;

    private String address;

    private int visitCount;

    get()/set()方法;

}

<o:p> </o:p>

例子1:

if1.jsp

<jsp:useBean id=”user” class=”org.it315.UserBean”>

<c:set value=”${param.count}” target=”${user}” property=” visitCount” />

<c:if test=”${user. visitCount==1}”>

     這是您第一次通路!

</c:if>

位址欄輸入http://localhost:8080/JSTL/if1.jsp?count=1

運作結果:

  這是您第一次通路!

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<c:set>标簽文法:

     <c:set>用于設定各種web域中的屬性,或者設定we