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>
字元 | 字元實體編碼 |
< | < |
> | > |
& | & |
‘ | ' |
“ | "t; |
<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