由淺到深詳細講解JSP自定義標籤(3)

十三、如何在Web應用啓動時裝載靜態文本

1、創建繼承了HttpServlet類的子類,在web.xml中配置這Servlet時設置load-on-startup屬性:

someclass
somepackage.SomeClass1

2、在這個Servletinit()方法中創建java.util.Properties

3、獲取當前Web應用的ServletContext對象

4、將WEB-INF目錄下的屬性文件讀入到輸入流InputStream中:

InputStream in = context.getResourceAsString("WEB-INF/someproperties.properties");

5、將輸入流加載到屬性對象中

ps.load(in);

6、將屬性對象保存到上

context.setAttribute("attributeName",ps);

十四、如何創建標籤處理類

1、引入必需的資源

import javax.servlet.jsp.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.*;

2、繼承TagSupport類並覆蓋doStartTag()/doEndTag()方法

3、從ServletContext對象中獲取java.util.Properties對象

4、從Properties對象中獲取key對應的屬性值

5、對獲取的屬性進行相應的處理並輸出結果

十五、創建標籤庫描述文件(Tag Library Descriptor)

1、標籤庫描述文件,簡稱TLD,採用XML文件格式,定義了用戶的標籤庫。TLD文件中的元素可以分成3類:

A.標籤庫元素
B.
標籤元素
C.
標籤屬性元素

2、標籤庫元素用來設定標籤庫的相關信息,它的常用屬性有:

A.shortname:指定Tag Library默認的前綴名(prefix)

B.uri:設定Tag Library的惟一訪問表示符。

3、標籤元素用來定義一個標籤,它的常見屬性有:

A.name:設定Tag的名字;

B.tagclass:設定Tag的處理類;

C.bodycontent:設定標籤的主體(body)內容。

1)empty:表示標籤中沒有body
2)JSP
:表示標籤的body中可以加入JSP程序代碼;
3)tagdependent
:表示標籤中的內容由標籤自己去處理。

4、標籤屬性元素用來定義標籤的屬性,它的常見屬性有:

A.name:屬性名稱;
B.required
:屬性是否必需的,默認爲false
C.rtexprvalue
:屬性值是否可以爲request-time表達式,也就是類似於< %=…% >的表達式。

十六、在Web應用中使用標籤

1、如果Web應用中用到了自定義JSP標籤,則必須在web.xml文件中加入元素,它用於聲明所引用的標籤所在的標籤庫

/sometaglib
/WEB-INF/someTLD.tld

2、設定Tag Library的惟一標示符,在Web應用中將根據它來引用Tag Libray

3、指定和Tag Library對應的TLD文件的位置;

4、在JSP文件中需要加入<% @ taglib% >指令來聲明對標籤庫的引用。例如:

<% @ taglib prefix = “somePrefix” uri = "/someuri" %>

5prefix表示在JSP網頁中引用這個標籤庫的標籤時的前綴,uri用來指定Tag Library的標識符,它必須和web.xml中的屬性保持一致。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章