日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JSTL介紹—JSP編程新組件允許用標簽編程

JSTL介紹中是允許JSP程序員使用標簽進行編程而不是Java代碼。為了說明為什么這個是可取的,給出一個快速簡單的小例子。我們就舉個非常簡單的例子從1數(shù)到10。我們用常規(guī)的基于scriptlet JSP網(wǎng)頁和JSTL兩種方式來制作這個網(wǎng)頁。當這個數(shù)到10的例子是使用scriptlet JSP編制的,JSP網(wǎng)頁會有如下顯示:

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,海原企業(yè)網(wǎng)站建設,海原品牌網(wǎng)站建設,網(wǎng)站定制,海原網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,海原網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

       < html>
< head>

< title>Count to 10 in JSP scriptlet< /title>

< /head>

< body>

< %

for(int i=1;i< =10;i++)

{%>

< %=i%>< br/>

< %

}

%>

< /body>

< /html>

正如你從以上例子中所看到的,使用scriptlet代碼產(chǎn)生的網(wǎng)頁源代碼包括了HTML標簽和Java語句的混合。有很多原因說明為什么這種混合式編程風格不是***的。

混合scriptlet和基于標簽的代碼不是***選擇的主要原因是可讀性。這種可讀性是針對人和計算機的。JSTL允許編程者看一個由整個HTML和HTML-like標簽組成的程序。

JSP scriptlet代碼的可讀性不僅只適用于人類。Scriptlet和HTML代碼的混合也很難被計算機讀取。尤其是HTML制作工具例如某個Dreamweaver和Microsoft FrontPage。目前,大多數(shù)HTML制作工具將JSP scriptlet代碼作為不可編輯的塊區(qū)而分離開。HTML制作工具通常不直接修改JSP scriptlet 代碼。

以下代碼顯示如何使用JSTL編寫從1數(shù)到10的這個例子。正如你所看到的,這個代碼列表更連貫,因為只使用了標簽。是HTML和JSTL標簽混合在一起產(chǎn)生的例子。

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

< head>

< title>Count to 10 Example (using JSTL)< /title>

< /head>

< body>

< c:forEach var="i" begin="1" end="10" step="1">

< c:out value="${i}" />

< br />

< /c:forEach>

< /body>

< /html>

當你檢查以前的代碼的時候,你可以看到JSP網(wǎng)頁整個是由標簽組成的。上述代碼使用了HTML標簽如< head> 和< br>。標簽的使用不僅限于HTML標簽。這個代碼也使用了JSTL標簽例如< c:forEach> 和 < c:out>。在本文中向你介紹一些JSTL的基礎知識。

安裝JSTL

為了使用JSTL,你必須安裝JSP 1.2(或更高的版本)的容器。其中最常用的JSP容器是Apache Tomcat Web server。你可以從這里http://jakarta.apache.org/tomcat/獲取一個Tomcat的副本。單獨使用Tomcat可以讓你使用常規(guī)的JSP scriptlet代碼。為了使用JSTL, 你必須安裝JSTL到Tomcat。JSTL可以從和Tomcat一樣的來源獲得。JSTL主要的URL是http://java.sun.com/products/jsp/jstl/。為了使用JSTL,你必須解壓分配文件并把它們安裝到Tomacat中的正確位置。

為了同時使用Tomcat,正確安裝JSTL遵循以下三個步驟:

復制JSTL JAR文件到Tomcat的lib目錄。

如果你使用Windows,你的lib目錄的可能位置是C:\Program Files\Apache Tomcat 4.0\webapps\ROOT\WEB-INF\lib。JSTL發(fā)布時就有很多JAR文件包括其中。你需要復制每一個JAR文件到Tomcat JAR目錄中。

復制JSTL TLD文件到Tomcat的web-inf目錄web-inf目錄的位置是C:\Program Files\Apache Tomcat 4.0\webapps\ROOT\WEB-INF。如果你研究JSTL分配文件,你應該注意到8個擴展名是TLD的文件。這8個文件要復制到你的web-inf目錄中。

修改web.xml文件來包括TLD文件***,你必須修改你的web.xml文件,并為這8個你添加的標簽庫添加入徑。這個由在主< web-app>指令中添加< taglib>指令。

      < taglib>
< taglib-uri>http://java.sun.com/jstl/fmt< /taglib-uri>

< taglib-location>/WEB-INF/fmt.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/fmt-rt< /taglib-uri>

< taglib-location>/WEB-INF/fmt-rt.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/core< /taglib-uri>

< taglib-location>/WEB-INF/c.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/core-rt< /taglib-uri>

< taglib-location>/WEB-INF/c-rt.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/sql< /taglib-uri>

< taglib-location>/WEB-INF/sql.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/sql-rt< /taglib-uri>

< taglib-location>/WEB-INF/sql-rt.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/x< /taglib-uri>

< taglib-location>/WEB-INF/x.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/x-rt< /taglib-uri>

< taglib-location>/WEB-INF/x-rt.tld< /taglib-location>

< /taglib>

完成以上三個步驟,你已經(jīng)準備好測試你的JSTL安裝。這個可以通過使用JSTL創(chuàng)建一個JSP網(wǎng)頁來完成。最簡單的例子就是以上所示的"count to ten"例子。你應該把你的JSP文件放到Webroot目錄中(C:\Program Files\Apache Tomcat 4.0\webapps\ROOT)。一旦Tomcat服務器啟動,你可以瀏覽http://127.0.0.1:8080/count.jsp來查看你的網(wǎng)頁。

如果你沒有正確安裝JSTL,可能也沒有錯誤信息提示。如果JSTL不能翻譯你的標簽,它們直接通過網(wǎng)頁瀏覽器。網(wǎng)頁瀏覽器將翻譯這些標簽作為未知的HTML標簽。大多數(shù)瀏覽器都會忽略未知的HTML標簽。

JSTL標簽庫

JSTL也常常作為一個單獨的標簽庫。實際上,JSTL有4個標簽庫。這些標簽庫總結如下:

Core Tag Library—包括的標簽是Web應用程序必不可少的。core tag庫的例子包括循環(huán),算式評估和基本的輸入和輸出。

Formatting/Internationalization Tag Library—包括的標簽是用于解析代碼的。其中一些標簽是解析代碼的,例如日期,不同的基于當前的區(qū)域。

Database Tag Library—包括的標簽是用于訪問SQL數(shù)據(jù)庫的。這些標簽通常只用于創(chuàng)建雛形程序。這是因為大多數(shù)程序不會從JSP網(wǎng)頁上直接處理數(shù)據(jù)庫訪問。數(shù)據(jù)庫訪問應該置于EJBs中通過JSP網(wǎng)頁進行訪問。

XML Tag Library—包括的標簽是可以用于訪問XML元素。因為XML是用在很多的Web應用程序中,XML處理是JSTL一個重要的功能。

在本文中,我們只需要大概的看幾個核心標簽(core tags)。我們將舉一個簡單的例子來展示用戶進入一個表格時如何處理數(shù)據(jù)。在我們進行這個程序之前,我們首先要看一看JSTL handles expressions。在JSTL中的表達式處理是通過使用EL表達式語言來完成的,像在JSP2.0中一樣。在下一節(jié)中,我們將檢查EL表達式語言。

EL表達式語言

JSP2.0其中一個主要的組件式叫做EL的新的表達式語言。EL廣泛應用在JSTL中。但是,重點要記住的是EL是JSP的一個特征而不是JSTL的。與JSP2.0一起使用的JSP scriptlet代碼包括EL表達式。以下的示范代碼行是在JSP scriptlet代碼中使用了EL。

       < p> 
Your total, including shipping is ${total+shipping}

< /p>

正如你從以上代碼中所看到的,添加了"total" 和"shipping"值并作為HTML顯示而產(chǎn)生的。這些表達式也可以再JSTL標簽中使用。JSTL1.0其中的一個重要需求就是JSTL要和JSP1.2一起使用。因為JSP1.2不支持EL, 所以又必要提供一些而外的JSTL標簽以便使用EL。例如,如果你想要使用JSTL來顯示以上的表達式,你可以使用以下的代碼:

       < p> 
Your total, including shipping is < c:out var="${total+shipping"/>

< /p>

JSTL的一個需求就是不需要JSP2.0來運行。通過提供一個可以顯示EL表達式的標簽,這個需求才能被滿足。

JSTL示例

現(xiàn)在我們就來研究一個使用JSTL的簡單例子。在這個例子中,我們將研究許多Web應用程序都能做到的一個常見的程序。我們將看到如何POST一個表格并從其中運行結果。能夠這樣做的一個簡單的程序,見如下顯示:

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

< head>

< title>If with Body< /title>

< /head>

< body>

< c:if test="${pageContext.request.method=='POST'}">

< c:if test="${param.guess=='Java'}">You guessed it!

< br />

< br />

< br />

< /c:if>

< c:if test="${param.guess!='Java'}">You are wrong

< br />

< br />

< br />

< /c:if>

< /c:if>

< form method="post">Guess what computer language

I am thinking of?

< input type="text" name="guess" />

< input type="submit" value="Try!" />

< br />

< /form>

< /body>

< /html>

這個簡單的Web網(wǎng)頁將顯示一個表格并詢問用戶猜一猜哪種計算機語言是程序可以考慮的。當然,計算機會考慮"Java."。本頁首先要檢查看是否一個POST被完成了。這使得表格和處理表格的代碼放在一個單一的頁面中。這個是通過以下JSTL if 語句完成的。

< c:if test="${pageContext.request.method=='POST'}">

這里你看到< c:if>標簽使用了一個EL表達式來評估要求的方式是否是一個POST。如果數(shù)據(jù)被粘貼到網(wǎng)頁,用戶輸入他們的猜測的值被儲存在一個名字叫"guess"的參數(shù)中。這是因為"guess"被指定為表格輸入條目的名字了。我們現(xiàn)在必須檢查看一看那這個參數(shù)是否等于"Java"。這個通過以下的< c:if>標簽來完成。

< c:if test="${param.guess=='Java'}"> 
You guessed it!

< /c:if>

如你所見,如果語句評估正確,< c:if>標簽的主體就被執(zhí)行。在本文中,我們開始研究有關怎樣安裝JSTL和它是如何工作的基礎知識。

JSTL的核心標簽也包括了循環(huán),反復和變量處理的標簽。通過使用這些標簽,你可以重復這些集合,訪問用戶對話數(shù)據(jù)和執(zhí)行所有Web應用程序執(zhí)行的其他的核心任務。除了core tag library,XML, database和formatting tag 庫也提供了更先進的用途。

總結

本文向你展示了在JSTL和JSP scriptlet編程之間的一些不同之處。如你所看到的,JSTL承認一個更一致的編程環(huán)境,通過承認HTML和程序代碼一起作為標簽來表達。JSTL和標簽庫代表了網(wǎng)頁編程的一個新的方法。

JSTL沒有提供一個程序員需要創(chuàng)建一個完整功能網(wǎng)頁應用程序的所有東西。此外,一些可以在JSTL中編程的程序往往***是沒有列入JSTL中。關于這個的一個***的例子就是數(shù)據(jù)庫JSTL標簽。除了每個小的Web應用程序外,它通常被認為是不好的編程習慣就是嵌入實際的數(shù)據(jù)庫命令到一個JSP網(wǎng)頁中。這樣的程序代碼的恰當位置是在你的Web應用程序常使用的Java beans和EJBs中。對于這種慣例,你可以考慮創(chuàng)建自己的標簽庫。這樣,你的JSP網(wǎng)頁可以使用JSTL來執(zhí)行基本的并非只是你的業(yè)務的編程程序。你應該完成你自己的標簽庫來執(zhí)行組件,這些只對你的業(yè)務是***的,也是在你的Web應用程序中用到的。

JSTL讓你創(chuàng)建一個非常一致的編程JSP技術為基礎的應用程序。這個不是通過JSTL來完成,而是通過JSTL,你自己的自定義標簽庫和一個基本的數(shù)據(jù)庫組合來完成的。了解每一個這些組件可以讓你部署一個更有效的Web應用程序。

您正在閱讀的是《JSTL介紹—JSP編程新組件 允許用標簽編程》


文章名稱:JSTL介紹—JSP編程新組件允許用標簽編程
網(wǎng)頁URL:http://www.dlmjj.cn/article/djeipse.html