熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

Jsp中的自定義標簽由淺到深詳細講解[2]

2013-11-15 12:18:48  來源: JSP教程 

  創建和使用一個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
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.