JSTL和EL開發(fā)JSP頁面的優(yōu)勢及實現(xiàn)方法

本篇內(nèi)容介紹了“JSTL和EL開發(fā)JSP頁面的優(yōu)勢及實現(xiàn)方法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了濉溪免費建站歡迎大家使用!

引言

WEB應(yīng)用程序設(shè)計(JSP)是計算機(jī)專業(yè)學(xué)生的專業(yè)必修課程,但是有些Java語言基礎(chǔ)薄弱的同學(xué)會感覺學(xué)習(xí)困難,很多同學(xué)在畢業(yè) 后參加信息產(chǎn)業(yè)部等部門組織的相應(yīng)專業(yè)職業(yè)技能考證考試時感到束手無策,因為JSP中大量動態(tài)內(nèi)容的邏輯需要通過Java代碼段來實現(xiàn)。JSTL(JSP Standard Tag Library,JSP標(biāo)準(zhǔn)標(biāo)記庫)規(guī)范的發(fā)布和JSP 2.0新特性EL(Expression Language,表達(dá)式語言)的引入,為不習(xí)慣Java語言或者不熟悉Java語言的WEB設(shè)計開發(fā)人員提供了一個JSP開發(fā)的新途徑,它簡化了程序, 提高了程序的可讀性和可維護(hù)性。

優(yōu)勢與實現(xiàn)

JSTL規(guī)范是由JCP(Java Community process program)開放性組織發(fā)展完善的。JSTL1.0始發(fā)布于2002年6月,目前***版本是JSTL1.2。JSTL實際上可以看作是一組基于XML 語法的自定義標(biāo)記形成的標(biāo)記庫。JSTL提供五個標(biāo)準(zhǔn)標(biāo)記庫(core核心、internationalization/format(國際標(biāo)準(zhǔn)化/格 式)、XML、SQL和function函數(shù))并支持EL。EL是2003年發(fā)布的JSP 2.0引入的最主要的新特性,它用簡單語法定義了表達(dá)式語言。在JSTL標(biāo)記中,可以靈活使用EL表達(dá)式,提供了一個用EL表示的強(qiáng)大的屬性集,使得 JSP動態(tài)表示層技術(shù)開發(fā)可以完全脫離Java腳本代碼。

目前Tomcat 6 Web服務(wù)器中不自動包含對JSTL的支持,所以在使用JSTL之前須在SUN的JSTL頁面(http://java.sun.com /products/jsp/jstl)下載JSTL規(guī)范(一些.JAR文件)。JSTL有以下三個安裝配置步驟:

①將JSTL實現(xiàn)庫文件 jstl.jar和standard.jar以及標(biāo)記庫描述文件夾tld拷貝到Tomcat Webapps的WEB-INF下。

②修改web.xml(Web應(yīng)用配置文件),在其中定義五類標(biāo)準(zhǔn)標(biāo)記庫所對應(yīng)的.tld(標(biāo)記庫描述文件)的 URI。例如在使用核心標(biāo)記庫之前,須編輯web.xml并在其中添加如下代碼:

<taglib-uri﹥http://java.sun.com/jsp/jstl/core
<taglib-location﹥/WEB-INF/tld/c.tld

③在JSP頁面開頭用taglib標(biāo)記庫指令指定要使用的標(biāo)記庫。比如,要使用JSTL core標(biāo)記庫,EL 版本的taglib偽指令為:

<%taglib uri=http://java.sun.com/jsp/jstl/core"prefix="c"%>

其中:c是核心標(biāo)記庫的前綴名(可由用戶指定或用系統(tǒng)約定前綴c),它在使用標(biāo)記庫標(biāo)記時用到。例如:out是核心庫4個通用標(biāo)記之一,

JSTL和EL開發(fā)JSP頁面的優(yōu)勢及實現(xiàn)方法JSTL和EL開發(fā)JSP頁面的優(yōu)勢及實現(xiàn)方法

以獲取“用戶注冊登錄”表單信息的處理程序為例:

使用EL param獲取用戶提交的數(shù)據(jù),可以簡單表示為:
姓名:${param.name}性別:${param.sex}E-mail:${param.email} ... ...

其中,name、sex、email等分別是提交表單的控件名。

***,以JSP開發(fā)《班級論壇》實例項目為例:

DbQuery.jsp是一個查詢數(shù)據(jù)庫的頁面。我們在MySQL數(shù)據(jù)庫classbbs中創(chuàng)建了擁有全部權(quán)限的用戶 cq(password:admin)及數(shù)據(jù)庫表stud。運行http://localhost:8080/proj/BBS/ DbQuery.jsp后將可以顯示stud表中的全部記錄的相關(guān)內(nèi)容。(在開源項目eclipse下編輯編譯運行通過)。

<!-- DbQuery.jsp --> 
<%@ page contentType="text/html;charset=GBK" %> 
<!—1.指定要使用的SQL標(biāo)記庫和核心標(biāo)記庫 --> 
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<!—2.設(shè)置數(shù)據(jù)源并保存在datas中 --> 
<sql:setDataSource url="jdbc:mysql://localhost:4097/classbbs" 
driver="com.mysql.jdbc.Driver" user="cq" password="admin" var="datas"/> 
<!—3.執(zhí)行一個數(shù)據(jù)庫查詢并將結(jié)果保存在res中 --> 
<sql:query sql="select *from stud" var="res" dataSource="${datas}"/> 
<!—4.顯示查詢結(jié)果 --> 
<html><body><table border="1"> 
<tr><th>姓名</th><th>留言</th><th>提交時間</th></tr> 
<c:forEach var="row" items="${res.rows}"> 
<tr><td><c:out value="${row.name}"/></td> 
<td><c:out value="${row.say}"/></td> 
<td><c:out value="${row.submit}"/></td></tr> 
</c:forEach></table></body></html>

結(jié)語

JSTL的core標(biāo)記庫中提供了所有JSP頁面常用功能的集合;SQL標(biāo)記庫提供了對數(shù)據(jù)庫的訪問支持;此外 Internationalization/format標(biāo)記庫提供了國際化(I18N)標(biāo)記集和數(shù)字、日期等的相關(guān)標(biāo)記集用以處理數(shù)據(jù)顯示的國際化和格 式化;XML標(biāo)記庫提供了對XML語言的支持;function標(biāo)記庫提供了對函數(shù)的支持等等。JSTL和EL以巨大的優(yōu)勢簡化了JSP的WEB開發(fā)。限 于篇幅,我們只對其中的core和SQL標(biāo)記庫給出了應(yīng)用實例,希望對喜歡用JSP開發(fā)web應(yīng)用而又畏懼Java語言的同學(xué)會有所幫助。

“JSTL和EL開發(fā)JSP頁面的優(yōu)勢及實現(xiàn)方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

當(dāng)前題目:JSTL和EL開發(fā)JSP頁面的優(yōu)勢及實現(xiàn)方法
URL地址:http://muchs.cn/article34/ghsdse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、網(wǎng)站內(nèi)鏈電子商務(wù)、移動網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管