您現在的位置是:電腦技術吧?>? 編程技術 ??>??自定義標簽,自定義標簽在哪??>??正文詳情

自定義標簽,自定義標簽在哪

占新之2019-12-04 14:52:12 人圍觀
簡介自定義一。基本概念:1。Tag:Tag是一個XML元素,通過它可以使JSP頁面變得簡單易維護,并且可以很容易地實現同一個JSP文件來支持多種語言版本。由于標記是XMLQQ自定義標簽8個字

一、基本概念:1.標簽(Tag):標簽是一種XML元素,通過標簽可以使JSP網頁變得簡潔并且易于維護,還可以方便地實現同一個JSP文件支持多種語言版本。

由于標簽是XML元素,所以它的名稱和屬性都是大小寫敏感的2.標簽庫(Tag library):由一系列功能相似、邏輯上互相聯系的標簽構成的集合稱為標簽庫。

3.標簽庫描述文件(Tag Library Descriptor):標簽庫描述文件是一個XML文件,這個文件提供了標簽庫中類和JSP中對標簽引用的映射關系。

它是一個配置文件,和web.xml是類似的。

4.標簽處理類(Tag Handle Class):標簽處理類是一個Java類,這個類繼承了TagSupport或者擴展了SimpleTag接口,通過這個類可以實現自定義JSP標簽的具體功能二、自定義JSP標簽的格式:1.% @ taglib prefix=”someprefix” uri=”/sometaglib” %為了使到JSP容器能夠使用標簽庫中的自定義行為,必須滿足以下兩個條件:1)從一個指定的標簽庫中識別出代表這種自定義行為的標簽2)找到實現這些自定義行為的具體類第一個必需條件-找出一個自定義行為屬于那個標簽庫-是由標簽指令的前綴(Taglib Directive's Prefix)屬性完成,所以在同一個頁面中使用相同前綴的元素都屬于這個標簽庫。

每個標簽庫都定義了一個默認的前綴,用在標簽庫的文檔中或者頁面中插入自定義標簽。

所以,你可以使用除了諸如jsp,jspx,java,servlet,sun,sunw(它們都是在JSP白皮書中指定的保留字)之類的前綴。

 uri屬性滿足了以上的第二個要求。

為每個自定義行為找到對應的類。

這個uri包含了一個字符串,容器用它來定位TLD文件。

在TLD文件中可以找到標簽庫中所有標簽處理類的名稱2. 當web應用程序啟動時,容器從WEB-INF文件夾的目錄結構的META-INF搜索所有以.tld結尾的文件。

也就是說它們會定位所有的TLD文件。

對于每個TLD文件,容器會先獲取標簽庫的URI,然后為每個TLD文件和對應的URI創建映射關系。

在JSP頁面中,我們僅需通過使用帶有URI屬性值的標簽庫指令來和具體的標簽庫匹配三、自定義JSP標簽的處理過程:1.在JSP中引入標簽庫:% @ taglib prefix=”taglibprefix” uri=”tagliburi” %2.在JSP中使用標簽庫標簽3.Web容器根據第二個步驟中的prefix,獲得第一個步驟中聲明的taglib的uri屬性值4.Web容器根據uri屬性在web.xml找到對應的元素 5.從元素中獲得對應的元素的值 6.Web容器根據元素的值從WEB-INF/目錄下找到對應的.tld文件 7.從.tld文件中找到與tagname對應的元素 8.湊元素中獲得對應的元素的值 9.Web容器根據元素的值創建相應的tag handle class的實例 10. Web容器調用這個實例的doStartTag/doEndTag方法完成相應的處理四、創建和使用一個Tag Library的基本步驟:1.創建標簽的處理類(Tag Handler Class)2.創建標簽庫描述文件(Tag Library Descrptor File)3.在web.xml文件中配置元素 4.在JSP文件中引人標簽庫五、TagSupport類簡介:1.處理標簽的類必須擴展javax.servlet.jsp.TagSupport.2.TagSupport類的主要屬性:A.parent屬性:代表嵌套了當前標簽的上層標簽的處理類B.pageContex屬性:代表Web應用中的javax.servlet.jsp.PageContext對象3.JSP容器在調用doStartTag或者doEndTag方法前,會先調用setPageContext和setParent方法,設置pageContext和parent。

因此在標簽處理類中可以直接訪問pageContext變量4.在TagSupport的構造方法中不能訪問pageContext成員變量,因為此時JSP容器還沒有調用setPageContext方法對pageContext進行初始化六、TagSupport處理標簽的方法:1.TagSupport類提供了兩個處理標簽的方法:public int doStartTag() throws JspExceptionpublic int doEndTag() throws JspException2.doStartTag:但JSP容器遇到自定義標簽的起始標志,就會調用doStartTag()方法。

doStartTag()方法返回一個整數值,用來決定程序的后續流程。

A.Tag.SKIP_BODY:表示?…之間的內容被忽略B.Tag.EVAL_BODY_INCLUDE:表示標簽之間的內容被正常執行3.doEndTag:但JSP容器遇到自定義標簽的結束標志,就會調用doEndTag()方法。

doEndTag()方法也返回一個整數值,用來決定程序后續流程。

A.Tag.SKIP_PAGE:表示立刻停止執行網頁,網頁上未處理的靜態內容和JSP程序均被忽略任何已有的輸出內容立刻返回到客戶的瀏覽器上。

B.Tag_EVAL_PAGE:表示按照正常的流程繼續執行JSP網頁七、用戶自定義的標簽屬性:如果在標簽中還包含了自定義的屬性,那么在標簽處理類中應該將這個屬性作為成員變量,并且分別提供設置和讀取屬性的方法。

八、創建標簽處理類的步驟:1.創建包含JSP網頁靜態文本的文件(即是要替換自定義JSP標簽的文本)2.在Web應用啟動時裝載靜態文本3.創建標簽處理類九、如何創建包含JSP網頁靜態文本的文件:1.使用java.util.Properties類來存放要替換網頁中自定義JSP標簽的靜態文本 (3lian素材)2.Properties類代表了一系列屬性的集合,其實例既可以被保存到流中,也可以從流中加載。

這些文本以key/value的形式存放在WEB-INF目錄下,例如key=value,在屬性列表中這些key/value都是String類型的十、Properties類的常用API:1.setProperty(String key, String value):調用Hashtable類的put方法添加屬性2.getProperty(String key):獲取屬性列表中key對應的屬性值3.load(InputStream in):從輸入流對象InputStream中讀取屬性列表(Properties list)4.store(OutputStream out,String coMMent):使用適當的格式將屬性列表的屬性對寫入輸出流對象中,默認使用ISO-88590-1編碼格式,以行的方式處理輸入。

屬性的 key/value之間以”=、:”配對,以回車、換行分隔key/value配對十一、ServletContext類的常用API:1.getContext(String uripath):返回服務器中uripath所代表的ServletContext對象2.getInitParameter(String name):返回ServletConfig對象中name參數的值3.getMineType(String file):返回file參數代表的文件的MIME類型4.getRequestDispatcher(String path):返回path代表的RequestDispacher對象5.getResourceAsStream(String path):以輸入流的形式返回path對應的資源,在輸入留中對象可以為任意形式的數據,path參數必須以“/”開始且相對于Context Root十二、如何使用ServletContxt讀取并保存屬性文件:(www.3lian.com)1.創建java.util.Properties類對象2.獲取ServletContext對象3.將屬性文件以輸入流的形式讀入到某個輸入流對象中4.將輸入流對象加載到Properties對象中5.將Properties對象保存到ServletContext對象中

版權聲明:本文由 占新之 整理編輯。

原標題:自定義標簽怎么設置,QQ自定義標簽

轉載注明出處:http://www.dn9ww09s.icu/program/15117.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 圓角,圓角怎么用

    圓角,圓角怎么用 相關圖片html圓角代碼如下:?PHP$image﹐file=$﹐get['src'];$corner﹐radius=isset($﹐get['radius'])?$﹐get['rCAD圓角怎么用...

  • 數據庫入門,數據庫的基礎是

    數據庫入門,數據庫的基礎是 相關圖片數據庫基礎教材最初的計劃是從本文開始向您介紹ASP的內置ActiveX組件,但考慮到我們在以后的研究中會接觸到大量的數據庫查詢,筆者暫時決定用一兩篇文章來簡要介紹一下數據庫查數...

  • struts2和spring,spring struts

    struts2和spring,spring struts 相關圖片spring與struts的區別剛剛接觸到JSP的struts不久,我將再次學習spring,然后將兩者結合起來。所以我在網上找到了很多關于struts spring的例子,但基本上都是a的例struts2和spring整合...

  • 參數的傳遞,參數傳遞的方式有哪些

    參數的傳遞,參數傳遞的方式有哪些 相關圖片過程參數的傳遞方式目前,JSP頁面中傳遞中文參數的方式主要有兩種:URL,如http://website/test1。JSP?Act=AddType=orange param=%編譯原理參數傳遞...

  • php字符串截取,php截取指定字符串

    php字符串截取,php截取指定字符串 相關圖片php截取字符串前幾位在這里,您可以指定字符串和截取代碼的字數,如下所示:?Phpfunction limit_words($string,$word_limit){$words=e字符串截取...

  • openrasp,openwaf

    openrasp,openwaf 相關圖片open資訊1.0用rs.open SQL讀取數據,Conn,1,1修改數據:rs.open SQL,Conn,1,3刪除數據:需要Conn.execute(delete*frorasp...

  • php返回,php返回結果

    php返回,php返回結果 相關圖片php這個例子描述了PHP如何返回相對時間(例如,20分鐘前,3天前)。與您分享以供參考。具體如下:123456789101213141516171819202122php點擊返回...

  • php跳轉頁面,php跳轉其他頁面

    php跳轉頁面,php跳轉其他頁面 相關圖片php跳轉到html登錄頁面在PHP編寫中,有時用戶頁面會跳轉。這里我們收集了幾種好的跳躍方法,可以使用。利用HTTP頭信息實現PHP的頭函數。PHP中的header函數用于向瀏覽器發送控php框架跳轉...

  • 訪問速度,網頁訪問速度

    訪問速度,網頁訪問速度 相關圖片服務器防火墻影響訪問速度JSP程序都是模塊化的,具有強大的表達式請求功能。構建一個完美的數據庫訪問是一個具有挑戰性的過程,JDBC接口可以很好地實現這一點。但是,JSP代碼中嵌...

  • 數據庫刪除記錄,數據庫刪除一條記錄

    數據庫刪除記錄,數據庫刪除一條記錄 相關圖片數據庫怎么刪除表實際上,在ASP中刪除數據庫教程記錄非常容易。只要連接到數據庫,就可以使用SQL delete函數將其刪除。讓我們看看下面的例子。id=saferequest(刪除數據庫表...

熱評文章

  • matlab將數據存入數組,怎么把字符串存入數組

    matlab將數據存入數組,怎么把字符串存入數組 相關圖片數組輸入本文的示例描述了PHP如何獲取web頁面中的所有圖片并將它們存儲在數組中。與您分享以供參考。具體如下:123456789101213141516$images=數組轉list...

  • 性能優化,前端性能優化

    性能優化,前端性能優化 相關圖片MySQL 性能優化在本文中,我將引導您學習實用的、經過驗證的性能調優技術,這將極大地提高您的servlet和JSP頁面的性能,進而提高J2EE的性能。這些技術的一部分用于開發階段react 性能優...

  • 靜態測試的常用方法,軟件測試中常用的靜態方法是

    靜態測試的常用方法,軟件測試中常用的靜態方法是 相關圖片怎么做靜態測量PHP開發中常用的一個詳細的操作類-希望您能添加更多-完善這個操作類1234567891013141516171819202122232425262728293靜態工作的...

  • 怎么生成pdf格式文件,怎么轉換pdf格式文件

    怎么生成pdf格式文件,怎么轉換pdf格式文件 相關圖片文件怎么轉換成pdfASP是一種古老的語言,它的一些功能對UTF-8的支持很差。例如,如果要生成UTF-8文件,則不能使用常用的SCR instrumentation.filesywps是什么格式的文件...

  • 什么是JSP,JSP

    什么是JSP,JSP 相關圖片js和jspCookie應該是一種使用了很長時間的技術。早在HTML出現時,就沒有辦法記錄和識別每個單獨頁面之間的不同用戶。后來,人們發明了曲奇技術。當用戶訪問網頁時,它可yjsp18...

  • 電子表格數組,excel數組怎么用

    電子表格數組,excel數組怎么用 相關圖片excel生成數組本文的例子描述了PHP如何將HTML表的每一行和每一列轉換成一個數組來收集表數據。與您分享以供參考。具體如下:下面的PHP代碼可以將HTML表的每一行和每一列轉數組...

  • 正則表達式 字符串,正則表達式包含字符串

    正則表達式 字符串,正則表達式包含字符串 相關圖片c正則表達式提取字符串本文為您提供了一個優秀的ASP教程,用于刪除字符串中的空格和數字正則表達式。這四個替換空間和數字正則表達式是不同的。腳本語言=web效果類型=文本/JavaSc正...

  • php文件是什么,怎么打開php文件

    php文件是什么,怎么打開php文件 相關圖片php下載文件PHP文件下載處理方法分析本文主要介紹了PHP文件下載處理方法,實例分析了PHP對于文件下載常見的處理技巧,具有一定的參考價值,需要朋友可以參考本文下面的例子來運行...

  • 防注入攻擊,注入攻擊

    防注入攻擊,注入攻擊 相關圖片注入式攻擊要防止asp.net應用程序被SQL注入攻擊入侵并不是一件特別困難的事情,只要在使用表單輸入內容構造SQL命令之前過濾所有輸入內容。過濾輸入可以通過多種方式完成數據庫注入...

  • Date函數,Date日期函數

    Date函數,Date日期函數 相關圖片date函數的意思一。date adddateadd函數返回已添加指定時間間隔的日期。DateAdd(interval,number,date)DateAdd函數的語法具有以下所concatenate函數...

關注微信

变脸官网查询