天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

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文件。

jsp技術JSP自定義標簽Taglib實現過程重點總結,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 老师在讲桌下边h边讲课 | 良家人妻无码专区九色颜射 | 噼里啪啦免费观看视频大全 | 国产精品视频第一区二区三区 | 久久精品嫩草影院免费看 | 琪琪婷婷五月色综合久久 | 他揉捏她两乳不停呻吟口述 | 亚洲大片免费看 | 成人在线免费视频观看 | 九九精品国产亚洲A片无码 九九精彩视频在线观看视频 | 果冻传媒最新视频在线观看 | 国产综合自拍 偷拍在线 | 高挑人妻无奈张开腿 | 亚洲 成人网 | 亚洲大片免费看 | 亚洲国产日韩欧美高清片a 亚洲国产日韩a精品乱码 | 午夜日本大胆裸艺术 | 亚洲精品国产字幕久久vr | 亚洲在线无码免费观看 | 国产品无码一区二区三区在线 | 国产毛A片啊久久久久久A | 老师洗澡让我吃她胸的视频 | 国产精品久久久久久人妻精品蜜桃 | 伊人久久大香网 | 99re6久久热在线视频 | 任你懆视频 这里只有精品 人与人特黄一级 | 99国产在线精品观看二区 | 99久久免费国产精精品 | 久久久久婷婷国产综合青草 | 久久综合久久伊人 | 亚洲人日本人jlzzy | 99热这里只有精品 | Y8848高清私人影院软件优势 | 无码天堂亚洲内射精品课堂 | 一扒二脱三插片在线观看 | 好男人好资源在线播放 | 在线播放国产视频 | 99日影院在线播放 | 99国内精品久久久久久久清纯 | 国产精品久久久久久人妻精品流 | 伊人国产在线观看 |