標籤:style ar 使用 sp java 檔案 on 資料 bs
tag作用:編寫調用tag實現代碼複用。能防止使用者直接存取tag頁面。Include只能做到代碼複用,但是不能防止使用者在地址欄直接輸入地址訪問。
優點: 1.實現代碼的複用
2.分離資料處理代碼和資料顯示代碼,便於web應用的維護,和再開發
tag檔案的儲存:儲存在WEB-INF/tags/下
tag標記:
格式一:<Tag 檔案名稱 />
格式二:<Tag 檔案名稱>
標記體
</Tag 檔案名稱>
在沒有標記體的情況下只能用格式一,格式二會將標記體傳入tag檔案中,用<jsp:doBody/>來得到這個標記體。
使用之前必須用taglib指令知名標記庫(即他所調用的tag檔案儲存的相對路徑)
格式:<%@ taglib tagdir=”相對路徑” prefix=”首碼” %>
調用格式:<首碼:檔案名稱/>
tag檔案的編寫:
常用指令:tag、variable、include、attribute、taglib
tag指令:
格式:<%@tag 屬性1=”屬性值” 屬性2=”屬性值”%>
常用屬性: body-content
屬性值: empty(tag不能帶標記體)
tagdependent(tag可以帶標記體,也可以不帶標記體)
scriptless(tag可以帶標記體,也可以不帶標記體)(預設)
language(和jsp中page標記的屬性一樣)
import(和jsp中page標記的屬性一樣)
pageEncoding 指定tag檔案的字元編碼,預設為”ISO-8859-1”
include指令:(和在jsp中的include指令類似)
attribute指令:可以讓jsp頁面向tag檔案傳遞需要的資料
格式:<%@ attribute name=”對象名” required=”ture”|”false” type=”對象的類型”%>
其中name必須有;required:如果是ture,則必須傳遞,如果是false,則可傳可不傳,預設是false;type預設是:java.lang.String類型。
使用:
格式一:<首碼:Tag檔案名稱 對象名=”對象的引用” />
格式二:<首碼:Tag檔案名稱 對象名=”對象的引用”>
標記體
</首碼:Tag檔案名稱>
variable指令:可以使jsp頁面動態傳遞資料到tag檔案中。
格式:
<%@ variable name-given=”對象名” variable-class=”對象的類型” scope=”有效範圍”%>
其中name-given 必須有;variable-class預設是:java.lang.String類型;scope:AT_BEGIN(一就開始使用)AT_NESTED(只在tag標記的地方使用)AT_END(只有在JSP結束之後才使用variable)
對象的返回
使用jspContex.setAttribute(“對象的名字”,”對象的引用”);
JSP中關於tag的學習