亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP自定義標簽Taglib實現過程重點總結

2020-07-27 21:39:04
字體:
來源:轉載
供稿:網友

Taglib指令介紹

Taglib指令,其實就是定義一個標簽庫以及自定義標簽的前綴。

比如struts中支持的標簽庫,html標簽庫、bean標簽庫、logic標簽庫。

其中的具體的實現方式,我們不過多介紹,我們給大家從宏觀的角度以及解決其中的疑難點,后面會大家介紹相應的學習資料。

除了struts的標簽庫,我們常見還有jstl標簽庫。

這樣在界面jsp中引入其中的標簽庫或者標簽庫文件,然后才可以正常使用其中定義的標簽。

復制代碼 代碼如下:

<%@ 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" %>

自定義標簽庫優點

在jsp1.1版本中就增加了自定義標簽庫。自定義標簽庫可以看作一種優秀的組件。在自定義標簽庫中,我們可以把復雜的業務邏輯功能都封裝在標簽庫中了。而不必在jsp中寫具體的代碼。這樣,jsp代碼與java編碼能力不必強制耦合在一起。

提到jsp版本的問題,我們首先應該確定我們jsp版本,因為版本不同,標簽庫文件引入的頭文件不同,并且其中的標簽也有差異。

如何查看我們使用的jsp版本或servlet版本

打開tomcat下lib文件下的jsp-api.jar下的/META-INF/MANIFEST.MF文件,查看jsp版本。

因為我已經導入eclispe中,圖如下:


 

lib文件下的servlet-api.jar下的/META-INF/MANIFEST.MF文件,查看servlet版本

因為我已經導入eclispe中,圖如下:

Jsp2新增的特性

上述圖中jsp版本是2.2,servlet版本是3.0。目前servlet3.0對應的是jsp2.2規范,但是一般情況下,我們把jsp2.0與jsp2.2都統稱為jsp2.

如果我們使用jsp2,則web.xml使用的是servlet2.4以上的版本。那我們看一下web.xml對應的頭文件:

新增的特性是:

復制代碼 代碼如下:

<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 >
<!--  對那些文件進行應用 -->
<url-pattern >* jsp</ url-pattern>
<!-- 忽略el表達式 -->
<el-ignored >true </el-ignored >
</jsp-property-group >
</ jsp-config>

當然還有很多功能:

2.表達式語言

表達式語言,就是使用el表達式。

3.使用TagFile

使用TagFile可以代替標簽處理類和庫文件。

jsp1和jsp2的標簽庫文件中的頭文件

jsp1的標簽文件的頭文件:

復制代碼 代碼如下:

<?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">

根據后綴dtd,知道這是引入dtd文件,但是這具體表示什么意思呢?

若是引入dtd文件,則使用DOCTYPE 這種形式。但是 PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"是什么意思呢?

根據xml中,如何引入dtd文件?引入dtd文件有以下形式:

1.在xml文檔內部引入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)>

在文檔類型聲明時,用管間質SYSTEM或PUBLIC來指出外部DTD文件的位置

用system關鍵字,如下:<!DOCTYPE 根元素的名字 SYSTEM "外部DTD文件的URI">

用public如下:<!DOCTYPE 根元素的名字 PUBLIC "DTD的名字" "外部DTD文件的URI">

一般用system關鍵字來形容是私有的dtd文件。

而public關鍵字來形容的是公共的dtd文件。public形式,首先默認的根據dtd的名字來尋找dtd文件,找不到,則會根據dtd文件的uri尋找文件。

jsp2中標簽文件的頭文件如下:其中是使用的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>

標簽庫文件位置

把tld文件放在WebContent目錄下或其子目錄下。這樣的話,web.xml不用配置其位置即可。tomcat直接讀取webcontent下的tld文件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品中文字| 中文字幕亚洲激情| 亚洲欧洲国产伦综合| 91在线免费看网站| 亚洲深夜福利视频| 国产999视频| 91色在线观看| 精品视频在线观看日韩| 69久久夜色精品国产69乱青草| 日韩中文字幕在线精品| 成人黄在线观看| 国产成人精品在线播放| 91精品国产高清久久久久久| 日韩美女视频免费在线观看| 日韩有码在线电影| 国产成人久久久精品一区| 欧美激情欧美狂野欧美精品| 欧美在线中文字幕| 国产香蕉一区二区三区在线视频| 亚洲另类激情图| 亚洲精品资源美女情侣酒店| 一道本无吗dⅴd在线播放一区| 2019中文字幕在线免费观看| 国产成人jvid在线播放| 亚洲va久久久噜噜噜久久天堂| 日本欧美爱爱爱| 日韩成人久久久| 国产日韩欧美中文在线播放| 亚洲激情国产精品| 伊人伊人伊人久久| 中文字幕亚洲一区二区三区五十路| 欧美视频裸体精品| 亚洲激情小视频| 福利视频第一区| 亚洲天堂日韩电影| 欧美剧在线观看| 社区色欧美激情 | 国产精品一二三视频| 久久国产精品久久久久久| 久久久久亚洲精品成人网小说| 亚洲电影免费观看高清完整版在线| 亚洲第一区中文99精品| 日韩精品日韩在线观看| 奇米成人av国产一区二区三区| 日本国产欧美一区二区三区| 亚洲欧洲视频在线| 国产91在线高潮白浆在线观看| 国产视频久久久久| 韩剧1988免费观看全集| 国产福利精品在线| 日韩成人中文字幕在线观看| 久久中国妇女中文字幕| 久热爱精品视频线路一| 成人免费观看49www在线观看| 久久久国产一区二区| 精品国产乱码久久久久久虫虫漫画| 欧美三级欧美成人高清www| 国产精品极品尤物在线观看| 亚洲精品午夜精品| 欧美激情在线观看视频| 亚洲免费伊人电影在线观看av| 成人免费视频在线观看超级碰| 欧美精品18videos性欧美| 91精品久久久久久久久| 亚洲欧洲日本专区| 国产一区二区三区日韩欧美| 国产精品第一视频| 国产视频亚洲精品| 久久久av网站| 亚洲激情中文字幕| 亚洲欧美日韩精品久久亚洲区| 久久久精品网站| 日韩成人在线视频观看| 在线观看日韩www视频免费| 亚洲人成在线观看网站高清| 久久久精品中文字幕| 欧美孕妇毛茸茸xxxx| 日韩经典中文字幕在线观看| 亚洲天堂一区二区三区| 日韩欧美在线一区| 日韩精品在线播放| 欧美日韩亚洲激情| 日韩av一区二区在线| 日韩在线精品一区| 国产成人啪精品视频免费网| 久久成人综合视频| 在线观看成人黄色| 夜夜嗨av色综合久久久综合网| 国产日韩综合一区二区性色av| 中文字幕精品一区久久久久| 国产脚交av在线一区二区| 欧美午夜片欧美片在线观看| 国模私拍一区二区三区| 久久成年人视频| 国产精品久久久| 欧美成人激情在线| 欧美黑人一区二区三区| 日韩美女视频中文字幕| 国产亚洲在线播放| 亚洲精品成人久久久| 国产精品一区二区女厕厕| 亚洲国产成人精品久久久国产成人一区| 欧美高清第一页| 高清在线视频日韩欧美| 亚洲精品美女在线| 国产香蕉97碰碰久久人人| 国产精品入口日韩视频大尺度| 国产日韩欧美电影在线观看| 欧美激情精品久久久久久大尺度| 久久久久五月天| 欧美猛男性生活免费| 国产91精品久久久久久久| 久久91精品国产91久久跳| 日本国产欧美一区二区三区| 亚洲综合中文字幕68页| 日韩av一区二区在线| 欧美一区二区三区精品电影| 成人午夜在线影院| 美女扒开尿口让男人操亚洲视频网站| 久久国产精品首页| 精品无人国产偷自产在线| 午夜精品久久久久久99热| 亚洲小视频在线观看| 欧美极品美女电影一区| xvideos国产精品| 欧美另类老女人| 自拍亚洲一区欧美另类| 成人高h视频在线| 国产一区二区三区在线观看视频| 日本一本a高清免费不卡| 欧美在线一级va免费观看| 992tv成人免费视频| 精品国产一区二区三区在线观看| 亚洲精品在线91| 午夜精品久久17c| 中文字幕视频在线免费欧美日韩综合在线看| 国色天香2019中文字幕在线观看| 国产精品人成电影在线观看| 亚洲高清久久网| 欧美国产日韩一区二区| 精品国产依人香蕉在线精品| 怡红院精品视频| 美女福利精品视频| 九九综合九九综合| 日韩欧美在线一区| 成人午夜在线观看| 欧美激情第99页| 最近2019中文字幕大全第二页| 97免费中文视频在线观看| 亚洲人成电影在线观看天堂色| 欧美中文字幕在线视频| 欧美成人精品一区| 欧美精品性视频| 欧美日韩亚洲天堂| 一区三区二区视频| 日韩中文字幕在线观看| 久久国产精彩视频| 91免费视频网站| 欧美视频免费在线观看| 国产亚洲福利一区| 亚洲精品一区二三区不卡| 2019日本中文字幕| 最近更新的2019中文字幕| 亚洲美女激情视频|