Tag文件和JSP文件很類似,可以被JSP文件動態加載調用,但是用戶不能直接訪問.
Tag文件的存儲目錄:
Tag文件規定放在/WEB-INF/tags目錄或其子目錄下,文件名隨意.
Tag文件的使用:
1 <%@ taglib prefix="s" tagdir="/WEB-INF/tags" %>
Tag指令:
1.body-content 屬性:設置Tag標記標記體的情況.可取的值:
tagdependent:標簽體內容直接被寫入BodyContent,由自定義標簽類來進行處理,而不被JSP容器解釋.
jSP:接受所有JSP語法,如定制的或內部的tag、scripts、靜態HTML、腳本元素、JSP指令和動作。
empty:空標記,即起始標記和結束標記之間沒有內容。
scriptless:接受文本、EL和JSP動作,默認取值.
2.pageEncoding 屬性:設置tag文件的編碼:
1 <%@ tag pageEncoding="UTF-8"%>
Include 指令:
在Tag文件中可以使用這個指令包含其他JSP文件或Tag文件.
attribute 指令:
用於向Tag標記中傳遞參數:
name:參數名
required:參數是否必須,默認false
type:參數類型,默認String,若手動指定要叫上包名.
variable 指令:
用於返回對象(一般是處理結果)
name-given 屬性:指定返回對象的變量名
variable-class 屬性:指定返回對象的類型,默認 java.lang.String,此處必須填完整名稱.
scope 屬性:指定對象的有效范圍,可取的值有:
NESTED:對象僅在Tag標記的標記體中有效,默認取值.
AT_BEGIN:一旦開始使用Tag標記,此對象就有效.
AT_END:只有在Tag標記結束后此對象才有效.
1 <%@ variable name-given="result" scope="AT_BEGIN" variable-class="java.lang.String"%> 2 jspContext.setAttribute("result", new Object());