JSP自定義標(biāo)簽Taglib實現(xiàn)過程重點總結(jié)_JSP教程
推薦:jsp include引用非本級目錄網(wǎng)頁實現(xiàn)代碼include的出現(xiàn)方便了文件之間的引用,降低了開發(fā)難度.它的常用法是引用同級目錄,本文主要介紹引用非本級目錄網(wǎng)頁,如果沒有遇到這樣情況下引用的朋友可以參考下,或許本文對你有所幫助
Taglib指令介紹
Taglib指令,其實就是定義一個標(biāo)簽庫以及自定義標(biāo)簽的前綴。
比如struts中支持的標(biāo)簽庫,html標(biāo)簽庫、bean標(biāo)簽庫、logic標(biāo)簽庫。
其中的具體的實現(xiàn)方式,我們不過多介紹,我們給大家從宏觀的角度以及解決其中的疑難點,后面會大家介紹相應(yīng)的學(xué)習(xí)資料。
除了struts的標(biāo)簽庫,我們常見還有jstl標(biāo)簽庫。
這樣在界面jsp中引入其中的標(biāo)簽庫或者標(biāo)簽庫文件,然后才可以正常使用其中定義的標(biāo)簽。
<%@ taglib prefix ="bean" uri= "http://struts.apache.org/tags-bean" %>
<%@ taglib prefix ="logic" uri= "http://struts.apache.org/tags-logic" %>
<%@ taglib prefix ="html" uri= "http://struts.apache.org/tags-html" %>
<%@ taglib prefix ="c" uri="http://java.sun.com/jsp/jstl/core" %>
自定義標(biāo)簽庫優(yōu)點
在jsp1.1版本中就增加了自定義標(biāo)簽庫。自定義標(biāo)簽庫可以看作一種優(yōu)秀的組件。在自定義標(biāo)簽庫中,我們可以把復(fù)雜的業(yè)務(wù)邏輯功能都封裝在標(biāo)簽庫中了。而不必在jsp中寫具體的代碼。這樣,jsp代碼與java編碼能力不必強(qiáng)制耦合在一起。
提到j(luò)sp版本的問題,我們首先應(yīng)該確定我們jsp版本,因為版本不同,標(biāo)簽庫文件引入的頭文件不同,并且其中的標(biāo)簽也有差異。
如何查看我們使用的jsp版本或servlet版本
打開tomcat下lib文件下的jsp-api.jar下的/META-INF/MANIFEST.MF文件,查看jsp版本。
因為我已經(jīng)導(dǎo)入eclispe中,圖如下:


lib文件下的servlet-api.jar下的/META-INF/MANIFEST.MF文件,查看servlet版本
因為我已經(jīng)導(dǎo)入eclispe中,圖如下:


Jsp2新增的特性
上述圖中jsp版本是2.2,servlet版本是3.0。目前servlet3.0對應(yīng)的是jsp2.2規(guī)范,但是一般情況下,我們把jsp2.0與jsp2.2都統(tǒng)稱為jsp2.
如果我們使用jsp2,則web.xml使用的是servlet2.4以上的版本。那我們看一下web.xml對應(yīng)的頭文件:
新增的特性是:
<web-app version= "4"
xmlns="http://javasuncom/xml/ns/j2ee"
xmlns:xsi="http://wwwworg/2001/XMLSchema-instance"
xsi:schemaLocation="http://javasuncom/xml/ns/j2ee
http://javasuncom/xml/ns/j2ee/web-app_2_xsd" >
</web-app>
1.直接配置jsp的屬性
比如在web.xml中配置:
< jsp-config>
<jsp-property-group >
<!-- 對那些文件進(jìn)行應(yīng)用 -->
<url-pattern >* jsp</ url-pattern>
<!-- 忽略el表達(dá)式 -->
<el-ignored >true </el-ignored >
</jsp-property-group >
</ jsp-config>
當(dāng)然還有很多功能:

2.表達(dá)式語言
表達(dá)式語言,就是使用el表達(dá)式。
3.使用TagFile
使用TagFile可以代替標(biāo)簽處理類和庫文件。
jsp1和jsp2的標(biāo)簽庫文件中的頭文件
jsp1的標(biāo)簽文件的頭文件:
<?xml version="0" encoding= "UTF-8"?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc//DTD JSP Tag Library 1//EN"
"http://javasuncom/j2ee/dtds/web-jsptaglibrary_1_dtd">
根據(jù)后綴dtd,知道這是引入dtd文件,但是這具體表示什么意思呢?
若是引入dtd文件,則使用DOCTYPE 這種形式。但是 PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"是什么意思呢?
根據(jù)xml中,如何引入dtd文件?引入dtd文件有以下形式:
1.在xml文檔內(nèi)部引入dtd
<?xml version="0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
2.在xml文檔引入外部dtd文件
<?xml version="0"?>
<!DOCTYPE note SYSTEM "notedtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
在文檔類型聲明時,用管間質(zhì)SYSTEM或PUBLIC來指出外部DTD文件的位置
用system關(guān)鍵字,如下:<!DOCTYPE 根元素的名字 SYSTEM "外部DTD文件的URI">
用public如下:<!DOCTYPE 根元素的名字 PUBLIC "DTD的名字" "外部DTD文件的URI">
一般用system關(guān)鍵字來形容是私有的dtd文件。
而public關(guān)鍵字來形容的是公共的dtd文件。public形式,首先默認(rèn)的根據(jù)dtd的名字來尋找dtd文件,找不到,則會根據(jù)dtd文件的uri尋找文件。
jsp2中標(biāo)簽文件的頭文件如下:其中是使用的schema形式而不是dtd文件。
<?xml version="0" encoding="UTF-8" ?>
<taglib xmlns="http://javasuncom/xml/ns/j2ee"
xmlns:xsi="http://wwwworg/2001/XMLSchema-instance"
xsi:schemaLocation="http://javasuncom/xml/ns/j2ee http://javasuncom/xml/ns/j2ee/web-jsptaglibrary_2_xsd"
version="0"></taglib>
標(biāo)簽庫文件位置
把tld文件放在WebContent目錄下或其子目錄下。這樣的話,web.xml不用配置其位置即可。tomcat直接讀取webcontent下的tld文件。
分享:純JSP+DWR實現(xiàn)三級聯(lián)動下拉選擇菜單實現(xiàn)技巧今天我做了一個dwr+jsp做的例子:純JSP+DWR實現(xiàn)三級聯(lián)動下拉選擇菜單,感興趣的朋友可以參考下,或許本文對你有所幫助
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復(fù)習(xí)整理
- JSP腳本元素和注釋復(fù)習(xí)總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
JSP教程Rss訂閱編程教程搜索
JSP教程推薦
猜你也喜歡看這些
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- jsp+ajax實現(xiàn)無刷新(鼠標(biāo)離開文本框即驗證用戶名)實現(xiàn)思路
- 如何實現(xiàn)javabean的屬性拷貝
- 檢測輸入的字符是否為0-9的數(shù)字(測試)
- JSP將動態(tài)頁面轉(zhuǎn)換為靜態(tài)頁面
- struts2中action實現(xiàn)ModelDriven后無法返回json的解決方法
- 使用Java編寫Palm OS程序的解決方案1
- Apache FileUpload的兩種上傳方式介紹及應(yīng)用
- Apache Tomcat 5.5部署jsp項目總結(jié)之——jsp連接數(shù)據(jù)庫
- JSP調(diào)用SQL server 2000存儲過程
- 相關(guān)鏈接:
- 教程說明:
JSP教程-JSP自定義標(biāo)簽Taglib實現(xiàn)過程重點總結(jié)
。