999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

JSTL和EL開發JSP頁面的優勢及實現

2007-12-31 00:00:00
考試周刊 2007年44期

摘 要:JSP WEB應用程序系統開發因為涉及到面向對象語言Java而使眾多學習者感到困難,本文就JSP2.0中引入的EL新特性并結合JSTL1.2規范討論了JSP頁面快速開發的新的途徑和方法。

關鍵詞:Java語言 EL表達式語言 JSTL規范 標記庫

引言

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

優勢與實現

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

目前Tomcat 6 Web服務器中不自動包含對JSTL的支持,所以在使用JSTL之前須在SUN的JSTL頁面(http://java.sun.com/products/jsp/jstl)下載JSTL規范(一些.JAR文件)。JSTL有以下三個安裝配置步驟:①將JSTL實現庫文件jstl.jar和standard.jar以及標記庫描述文件夾tld拷貝到Tomcat Webapps的WEB-INF下。②修改web.xml(Web應用配置文件),在其中定義五類標準標記庫所對應的.tld(標記庫描述文件)的URI。例如在使用核心標記庫之前,須編輯web.xml并在其中添加如下代碼:

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

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

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

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

其中:c是核心標記庫的前綴名(可由用戶指定或用系統約定前綴c),它在使用標記庫標記時用到。例如:out是核心庫4個通用標記之一,用于顯示輸出數據,以下有兩種格式可以將value屬性值送到JSP輸出上:

格式一:<c:out value=\"${Expression}\"/>

格式二:<c:out value=\"Expression\" default=\" Expression\" escapeXml=\"boolean\"/>

其中:value屬性是輸出到JSP頁面的表達式。當escapeXml屬性值為“true”時,可以將HTML/XML標記符號(如<、>、、/等)直接作為字符串輸出;當value屬性的值為1時,default屬性用來設置輸出的默認值。

${ Expression }是EL表達式。可以用EL表達式語言而不用Java代碼段來指定JSTL的屬性值,所有的EL表達式都是被${}括起來的。

EL提供了對JSP對象的簡明訪問和對象屬性的簡單表示。例如,輸出JSP對象uName的值:

Java腳本語言表示為:

<%String uName=(String)request.getAttribute(“uName”);

Out.println(uName);%>

而EL表示為:${uName},其簡單明了顯而易見。

下表1列出了EL中11個隱含對象。JSP和EL隱含對象中只有一個公共對象(pageContext)。但是EL可以通過pageContext訪問所有另外八個JSP隱含對象。實際上,這是將pageContext包括在EL隱含對象中的主要理由。

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

使用EL param獲取用戶提交的數據,可以簡單表示為:

姓名:${param.name}性別:${param.sex}E-mail:${param.email} ... ...

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

最后,以JSP開發《班級論壇》實例項目為例:

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

<!-- DbQuery.jsp -->

<%@ page contentType=\"text/html;charset=GBK\" %>

<!—1.指定要使用的SQL標記庫和核心標記庫 -->

<%@ taglib prefix=\"sql\" uri=\"http://java.sun.com/jsp/jstl/sql\" %>

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

<!—2.設置數據源并保存在datas中 -->

<sql:setDataSource url=\"jdbc:mysql://localhost:4097/classbbs\"

driver=\"com.mysql.jdbc.Driver\" user=\"cq\" password=\"admin\" var=\"datas\"/>

<!—3.執行一個數據庫查詢并將結果保存在res中 -->

<sql:query sql=\"select *from stud\" var=\"res\" dataSource=\"${datas}\"/>

<!—4.顯示查詢結果 -->

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

結語

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

參考文獻:

[1]陳旭東,劉迪人.JSP2.0應用教程[M].清華大學出版社,2006.

[2]林上杰,林康司.JSP2.0技術手冊[M].電子工業出版社,2005.

主站蜘蛛池模板: www.精品国产| 亚洲国产欧美目韩成人综合| 国产性爱网站| 99re这里只有国产中文精品国产精品 | 久久亚洲高清国产| 狠狠色噜噜狠狠狠狠色综合久| 国产一区二区丝袜高跟鞋| 亚洲欧洲日本在线| www.亚洲一区| 丁香婷婷激情综合激情| 91在线激情在线观看| 欧美色亚洲| 国产高清无码第一十页在线观看| 狠狠操夜夜爽| 欧美色图第一页| 中文字幕人妻av一区二区| 男女猛烈无遮挡午夜视频| 日韩国产综合精选| 久久久久亚洲精品成人网| 日韩色图区| 免费国产在线精品一区| 国产日韩欧美成人| 国产91丝袜在线播放动漫| 视频在线观看一区二区| 日本高清在线看免费观看| 亚洲无码不卡网| 原味小视频在线www国产| 国产午夜福利亚洲第一| 国产美女在线免费观看| 日韩精品毛片| 亚洲人成网站观看在线观看| 狠狠躁天天躁夜夜躁婷婷| 91成人在线观看| 高清无码一本到东京热| 制服丝袜国产精品| 欧美一级在线看| AV在线天堂进入| 热这里只有精品国产热门精品| 婷婷99视频精品全部在线观看| 夜夜操天天摸| 在线播放精品一区二区啪视频| 亚洲成人在线网| 丁香婷婷综合激情| 亚洲国产无码有码| 亚洲日本中文字幕天堂网| 中文毛片无遮挡播放免费| 国产精品偷伦视频免费观看国产 | 国产欧美日韩18| 国产成人盗摄精品| 久久人妻系列无码一区| 一级高清毛片免费a级高清毛片| 国产乱子伦精品视频| 97人人模人人爽人人喊小说| 在线精品视频成人网| 农村乱人伦一区二区| 成人午夜亚洲影视在线观看| 亚洲精品午夜无码电影网| 亚洲精品在线影院| 久久国产精品影院| 欧美激情视频二区| 国产一区二区三区精品欧美日韩| 国产在线精品99一区不卡| 久久亚洲中文字幕精品一区| 欧美成人国产| 精品国产网站| 国产人在线成免费视频| 日韩精品无码免费专网站| 911亚洲精品| 亚洲欧洲日产国产无码AV| 国产真实乱了在线播放| 国产精品久久久久久久伊一| 色欲国产一区二区日韩欧美| 国产精品一老牛影视频| 国产精品尤物铁牛tv| 亚洲福利网址| 国产成人久久777777| 亚洲不卡网| 欧美人与牲动交a欧美精品| 国模视频一区二区| 国产乱肥老妇精品视频| 国模私拍一区二区| 久久精品无码一区二区国产区|