四創建和使用一個Tag Library的基本步驟
創建標簽的處理類(Tag Handler Class)
創建標簽庫描述文件(Tag Library Descrptor File)
在webxml文件中配置元素
在JSP文件中引人標簽庫
五TagSupport類簡介
處理標簽的類必須擴展javaxservletjspTagSupport
TagSupport類的主要屬性
Aparent屬性代表嵌套了當前標簽的上層標簽的處理類
BpageContex屬性代表Web應用中的javaxservletjspPageContext對象
JSP容器在調用doStartTag或者doEndTag方法前會先調用setPageContext和setParent方法設置pageContext和parent因此在標簽處理類中可以直接訪問pageContext變量
在TagSupport的構造方法中不能訪問pageContext成員變量因為此時JSP容器還沒有調用 setPageContext方法對pageContext進行初始化
六TagSupport處理標簽的方法
TagSupport類提供了兩個處理標簽的方法
public int doStartTag() throws JspException
public int doEndTag() throws JspException
doStartTag但JSP容器遇到自定義標簽的起始標志就會調用doStartTag()方法
doStartTag()方法返回一個整數值用來決定程序的後續流程
ATagSKIP_BODY表示…之間的內容被忽略
BTagEVAL_BODY_INCLUDE表示標簽之間的內容被正常執行
doEndTag但JSP容器遇到自定義標簽的結束標志就會調用doEndTag()方法doEndTag ()方法也返回一個整數值用來決定程序後續流程
ATagSKIP_PAGE表示立刻停止執行網頁網頁上未處理的靜態內容和JSP程序均被 忽略任何已有的輸出內容立刻返回到客戶的浏覽器上
BTag_EVAL_PAGE表示按照正常的流程繼續執行JSP網頁
七用戶自定義的標簽屬性
如果在標簽中還包含了自定義的屬性例如
那麼在標簽處理類中應該將這個屬性作為成員變量並且分別提供設置和讀取屬性的方法
八創建標簽處理類的步驟
創建包含JSP網頁靜態文本的文件(即是要替換自定義JSP標簽的文本)
在Web應用啟動時裝載靜態文本
創建標簽處理類
九如何創建包含JSP網頁靜態文本的文件
使用javautilProperties類來存放要替換網頁中自定義JSP標簽的靜態文本
Properties類代表了一系列屬性的集合其實例既可以被保存到流中也可以從流中加 載這些文本以key/value的形式存放在WEBINF目錄下例如key=value在屬性列表中 這些key/value都是String類型的
十Properties類的常用API
setProperty(String key String value)調用Hashtable類的put方法添加屬性
getProperty(String key)獲取屬性列表中key對應的屬性值
load(InputStream in)從輸入流對象InputStream中讀取屬性列表(Properties list)
store(OutputStream outString comment)使用適當的格式將屬性列表的屬性對寫入輸 出流對象中默認使用ISO編碼格式以行的方式處理輸入屬性的key/value之 間以=:配對以回車換行分隔key/value對
[] [] [] []
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20700.html