搜尋
首頁Javajava教程什麼是jsp標籤庫
什麼是jsp標籤庫May 15, 2019 pm 01:57 PM
jsp

什麼是jsp標籤庫

推薦課程:Java教學

#JSP標準標籤庫(JSTL)是一個JSP標籤集合,它封裝了JSP應用的通用核心功能。 JSTL支援通用的、結構化的任務,例如迭代,條件判斷,XML文檔操作,國際化標籤,SQL標籤。除了這些,它還提供了一個框架來使用整合JSTL的自訂標籤。從概念上講,標籤就是很簡單且可重複使用的程式碼結構。比方說,在最新發布的JSPKit(在JSP Insider內)中,使用XML標籤實現了對XML文件的輕鬆存取。

重要特性

易於安裝在多個專案上

#標籤很容易從一個JSP專案遷移到其他專案。一旦建立了一個標籤庫,則只需要將所有的東西打包為一個JAR文件,你就可以在任何的JSP專案中重新使用。因為標籤可以重新使用,標籤庫可以輕鬆地用於你自己的項目,所以標籤庫越來越通行。目前,最好的標籤資源可以在JSPTags.com這個網站找到。

可以無限制地擴展和增加JSP的功能

擴展JSP 標籤庫可以具備JSP規範(JSP 1.2)中的任何特性和功能,你可以無限制地擴展和增加JSP的功能,而無需要等待下一版JSP的出現。例如,你對JSP的include呼叫不太滿意。你可以建立自己的include標籤,該標籤執行的是你自己的規範。

容易維護

標籤庫使得JSP的web應用程式非常容易維護,原因有:

(1)標籤應用簡單,對任何人而言都很容易使用、容易理解。

(2)所有的程式邏輯程式碼都集中在的標籤處理器和JavaBeans。這意味著你在升級程式碼時,無需要對每個使用該程式碼的頁面進行修改,你只需要修改集中的程式碼檔案即可。

(3)如果需要加入新的功能,你也不需要修改任何已經存在的頁面,可以在標籤中加入額外的屬性,從而引進新的行為,而其它舊的屬性不變,這樣所有舊的頁面還可以正常工作。例如你有一個讓所有文字變藍的標籤:

My Text

但在後來專案中,你又想讓藍色變暗。你可以保留原有的標籤,只要為其增加一個新的屬性:shade ,如下所示:

My Text

所有舊的標籤仍然可以產生藍色的文本,但現在你可以使用同一標籤來產生變暗的藍色文本了。

(4)標籤提升了程式碼的重用性。那些經過多次測試和使用的程式碼肯定具有更少的bug。所以,使用客製化標籤的JSP頁面也同樣有更少的缺陷,維護起來自然方便多了。

快速的開發時間

標籤庫提供一個簡單的方式來重複使用程式碼。在伺服器端的語言中,其中一個標準的重用程式碼方式是使用模板。相對於使用範本庫,標籤庫是更好的解決方案。使用範本庫,你必須為每個專案修改範本或且建立嚴格的介面,而標籤庫則沒有這些限制,並且擁有所有物件導向的好處,可以做到靈活和更有擴展性,而且,透過重用程式碼,你可以花更少的時間來做開發,更多的時間可以用在設計你的web應用程式上。標籤庫的介面也很簡單,非常容易做插入、使用和調試。

標籤的組成結構

雖然標籤庫非常容易使用,不過要建立一個標籤庫的內部實作機制還是頗複雜的,起碼要比建立一個簡單的JavaBean複雜。這個複雜是來自於標籤庫是由幾個部分構成的。不過,你只需要掌握了Java和JSP的知識就夠了。

一個簡單的標籤由下面的元素構成:

1. JavaBean:為了得到Java與生具來的物件導向的好處,可重複使用的程式碼應該放到一個獨立的程式碼容器中,也就是JavaBean。這些JavaBeans並不是標籤庫必不可少的一部分,但它們是標籤庫用來執行所指派任務的基礎程式碼模組。

2.標籤處理器:標籤處理器是標籤庫的真正核心。一個標籤處理器(tag handler)引用它所需要的任何外部資源(JavaBean)並且負責存取JSP頁面的資訊(PageContext物件)。而JSP頁面則把頁面上設定的標籤屬性和標籤體中的內容都傳遞給標籤處理器,當標籤處理器完成其處理過程後,它就會把處理後的輸出結果回送給JSP頁面做進一步處理。

3.標籤庫描述符(TLD文件):這是一個簡單的XML文件,它記錄標籤處理器的屬性、資訊和位置等資訊。 JSP容器透過這個檔案來得知從哪裡及如何呼叫一個標籤庫。

4. Web網站的web.xml檔案:這是Web網站的初始化文件,在這個檔案中,需要定義了Web網站中使用的自訂標籤,以及用來描述每個自訂標籤的tld檔案。

5.發布檔案(WAR或JAR檔案):如果你想重複使用自訂標籤的話,你需要一個方法來將它由一個專案遷移到其他專案中去。將標籤庫打包為一個JAR檔案是一個簡單且有效的方式。

6. JSP頁面上的標籤庫聲明:要在JSP頁面中的使用某個自訂標籤的話,需要使用標籤庫標示符在頁面上進行聲明。

看來要做的工作很多,剛開始用的時候當然會有點棘手,不過其實不是很難。它的要點並不在於編碼,而是如何將各部分正確地組織起來。這種層次性的結構是很重要的,它令標籤的使用變得靈活且更容易轉移。更重要的事,這些層次可以讓整個建立標籤庫的過程都能透過JSP IDE(JSP的整合開發環境)自動完成。 JSP IDE更可以自動完成創建自訂標籤的大部分工作,而你自己則只需要負責建立程式碼和標籤處理器。 (注意:一個標籤處理器只定義一個自訂標籤;一個標籤庫是幾個處理相同任務的標籤處理器的集合)

在這篇文章中只簡要地討論了標籤庫的好處。標籤庫實際上還有許多其它強大的功能。標籤庫促使JSP開發進入了前所未有的新天地。對JSP開發人員來說這確實是一種很令人振奮的新技術,因為他們得到了一個可將JSP轉到各個應用並且建立任何類型web應用的工具。標籤庫讓JSP變成了最豐富、最具動態開發能力的、強大的Web程式設計環境。它的功能只受我們的想像和創造力限制。

以上是什麼是jsp標籤庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
jsp是属于前端还是后端jsp是属于前端还是后端Jan 28, 2023 pm 06:23 PM

jsp属于后端。jsp的本质是一种servlet,而servlet又是服务器端的java应用程序,所以jsp是属于后端的技术。JSP部署于网络服务器上,可响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java作为脚本语言,为用户HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

SpringBoot项目如何整合JSPSpringBoot项目如何整合JSPMay 12, 2023 pm 07:40 PM

新建好springboot项目以后目录如下:第一步:在项目的pom文件中加入配置jsp所需要的jar包代码:org.apache.tomcat.embedtomcat-embed-jasperprovided第二步:在main路径下新建目录webapp,在webapp下新建路径WEB-INF,在WEB-INF下新建路径jsp,在这个路径下放置我们要使用的jsp文件第三步:在主配置文件中配置jsp文件的访问路径和后缀代码:spring.mvc.view.prefix=/WEB-INF/jsp/sp

jsp和html区别在哪jsp和html区别在哪Jan 09, 2024 am 10:46 AM

jsp和html区别:1、运行机制;2、用途;3、与Java的关系;4、功能;5、与后端的关系;6、速度;7、可维护性和扩展性;8、学习和使用的难易程度;9、文件后缀和识别工具;10、社区和支持;11、安全性。详细介绍:1、运行机制,HTML是一种标记语言,主要用于描述和定义网页的内容,它运行在客户端,由浏览器解释执行,JSP是一种动态网页技术,运行在服务器端等等。

jsp分页功能怎么实现jsp分页功能怎么实现Mar 04, 2024 pm 04:40 PM

实现步骤:1、在JSP页面中引入JSTL标签库;2、从数据库中获取数据;3、对数据进行分页处理;4、在页面中显示分页导航条;5、根据当前页码和每页显示数量,从分页后的数据中获取对应的数据并显示在页面上即可。

如何用jsp+mysql实现网页的分页查询如何用jsp+mysql实现网页的分页查询May 30, 2023 pm 03:58 PM

一、实现分页查询的核心sql语句(1)查询数据库的记录总数的sql语句:selectcount(*)from+(表名);(2)每次查询的记录数的sql语句:其中:0是搜索的索引,2是每次查找的条数。select*from表名limit0,2;二、代码实现*上篇写过这两个类,DBconnection类:用于获取数据库连接,Author对象类。这两个类的代码点击连接查看。点击链接查看DBconnection类和Author对象类(1)登录页面:index.jsp。Inserttitlehere用户列

jsp是什么格式的文件jsp是什么格式的文件Jan 24, 2024 pm 04:01 PM

​JSP是一种动态网页技术标准,其文件格式是在传统的网页HTML文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

Web开发的Java技术栈:了解Java EE、Servlet、JSP、Spring等常用于Web开发的技术Web开发的Java技术栈:了解Java EE、Servlet、JSP、Spring等常用于Web开发的技术Dec 26, 2023 pm 02:29 PM

JavaWeb开发技术栈:掌握JavaEE、Servlet、JSP、Spring等用于Web开发的技术随着互联网的迅速发展,在当今的软件开发领域,Web应用的开发已经成为一种非常重要的技术需求。而Java作为一种广泛应用的编程语言,其在Web开发领域也有着重要的地位。JavaWeb开发技术栈涉及多项技术,如JavaEE、Servlet、JSP、Spr

jsp中iframe是什么jsp中iframe是什么Aug 24, 2023 pm 04:02 PM

jsp中iframe是一种用于嵌入其他网页或文档的HTML标签,可以实现页面的分割、动态加载、异步加载和跨域访问等功能。它为开发人员提供了更多的灵活性和交互性,可以提高网页的可用性和用户体验。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版