十三、如何在Web應用啓動時裝載靜態文本
1、創建繼承了HttpServlet類的子類,在web.xml中配置這Servlet時設置load-on-startup屬性:
someclass
somepackage.SomeClass1
somepackage.SomeClass1
2、在這個Servlet的init()方法中創建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.標籤屬性元素
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:表示標籤中的內容由標籤自己去處理。
2)JSP:表示標籤的body中可以加入JSP程序代碼;
3)tagdependent:表示標籤中的內容由標籤自己去處理。
4、標籤屬性元素用來定義標籤的屬性,它的常見屬性有:
A.name:屬性名稱;
B.required:屬性是否必需的,默認爲false;
C.rtexprvalue:屬性值是否可以爲request-time表達式,也就是類似於< %=…% >的表達式。
B.required:屬性是否必需的,默認爲false;
C.rtexprvalue:屬性值是否可以爲request-time表達式,也就是類似於< %=…% >的表達式。
十六、在Web應用中使用標籤
1、如果Web應用中用到了自定義JSP標籤,則必須在web.xml文件中加入元素,它用於聲明所引用的標籤所在的標籤庫
/sometaglib
/WEB-INF/someTLD.tld
/WEB-INF/someTLD.tld
2、設定Tag Library的惟一標示符,在Web應用中將根據它來引用Tag Libray;
3、指定和Tag Library對應的TLD文件的位置;
4、在JSP文件中需要加入<% @ taglib% >指令來聲明對標籤庫的引用。例如:
<% @ taglib prefix = “somePrefix” uri =
"/someuri" %>
|
5、prefix表示在JSP網頁中引用這個標籤庫的標籤時的前綴,uri用來指定Tag Library的標識符,它必須和web.xml中的屬性保持一致。