JSP 自定義標簽第3/3頁
十三、如何在Web應用啟動時裝載靜態(tài)文本:
1.創(chuàng)建繼承了HttpServlet類的子類,在web.xml中配置這Servlet時設置load-on-startup屬性:
someclass
somepackage.SomeClass1
2.在這個Servlet的init()方法中創(chuàng)建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);
十四、如何創(chuàng)建標簽處理類:
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.對獲取的屬性進行相應的處理并輸出結果
十五、創(chuàng)建標簽庫描述文件(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" %>
5.prefix表示在JSP網頁中引用這個標簽庫的標簽時的前綴,uri用來指定Tag Library的標識符,它必須和web.xml中的屬性保持一致。
相關文章
JSP中實現(xiàn)判斷客戶端手機類型并跳轉到app下載頁面
這篇文章主要介紹了JSP中實現(xiàn)判斷客戶端手機類型并跳轉到app下載頁面,實現(xiàn)的原理,是檢測瀏覽器的 USER-AGENT 這個header,然后根據正則表達式來確定客戶端類型,需要的朋友可以參考下2014-09-09

