亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

利用JSP 2.0開發Web應用程序2

2024-09-05 00:20:29
字體:
來源:轉載
供稿:網友

標簽處理器

jsp 1.2中傳統的標簽處理api由于允許標簽體中包含scriptlet而變得復雜,但是現在利用表達式語言可以編寫不含scriptlet的jsp網頁。最終,jsp 2.0引入了一種新的標簽擴展機制,稱為“簡單標簽擴展”,這種機制有兩種使用方式:

  1. java開發人員可以定義實現接口javax.servlet.jsp.tagext.simpletag的類;
  2. 不懂java的網頁編寫人員則可以使用標簽文件。

首先來看第一種方式,代碼示例6給出了一個簡單的標簽處理器,它的作用僅僅是打印“this is my first tag! ”。

代碼示例6: hellotag.java

package jsp2.examples.simpletag;
import javax.servlet.jsp.jspexception;
import javax.servlet.jsp.tagext.simpletagsupport;import java.io.ioexception;
/**
* simpletag handler that prints "this is my first tag!"
*/
public class hellotag extends simpletagsupport {
public void dotag() throws jspexception, ioexception {
getjspcontext().getout().write("this is my first tag!");
}
}

編譯成功后,下一步就要在tld中定義一個標簽描述符,下面是標簽描述符的例子。

代碼示例7: 標簽描述符

    <tag>
<description>prints this is my first tag</description>
<name>hello</name>
<tag-class>jsp2.examples.simpletag.hellotag</tag-class>
<body-content>empty</body-content>
</tag>

最后再編寫一個使用上述標簽的jsp頁面文件,見代碼示例8。

代碼示例8: helloworld.jsp

<%@ taglib prefix="mytag" uri="/web-inf/jsp2/jsp2-example-taglib.tld" %>
<html>
<head>
<title>simple tag handler</title>
</head>
<body>
<h2>simple tag handler</h2>
<p>
<b>my first tag prints</b>: <mytag:hello/>
</body>
</html>

要運行這個例子:

  1. 復制hellotg.java并保存到c:/tomcat5.0/webapps/jsp-examples/web-inf/classes/jsp2/examples/simpletag下;
  2. 使用javac編譯hellotag.java;
  3. 把代碼示例7中的標簽描述符添加到文件c:/tomcat5.0/webapps/jsp-examples/web-inf/jsp2/jsp2-example-taglib.tld中的</taglib>之前;
  4. 復制helloworld.jsp并保存到c:/tomcat5.0/webapps/jsp-examples/jsp2-tutorial目錄中;
  5. 用瀏覽器打開helloworld.jsp。

如果一切正常,應該會看到類似如圖4所示的畫面。


4:簡單標簽處理器

標簽文件

使用簡單標簽擴展機制的另一種方法是通過標簽文件。標簽文件是一種資源文件,網頁作者可以利用它抽取一段jsp代碼,通過定制功能來實現代碼的復用。換句話說,標簽文件允許jsp網頁作者使用jsp語法創建可復用的標簽庫。標簽文件的擴展名必須是“.tag”。

為說明使用標簽文件是多么容易,考慮一下代碼示例9。沒錯,這就是一個標簽文件!

代碼示例9: greetings.tag

hello there. how are you doing?

一旦定義了標簽文件,就可以在jsp網頁的編寫中使用這種定制的功能。比如代碼示例10中的jsp網頁。

代碼示例10: chat.jsp

<%@ taglib prefix="tags" tagdir="/web-inf/tags" %>
<html>
<head>
<title>jsp 2.0 examples - hello world using a tag file</title>
</head>
<body>
<h2>tag file example</h2>
<p>
<b>the output of my first tag file is</b>: <tags:greetings/>
</body>
</html>

要運行這個例子:

  1. 復制標簽文件greetings.tags并保存在c:/tomcat5.0/webapps/jsp-examples/web-inf/tags 目錄下;
  2. 復制jsp網頁文件char.jsp并保存在c:/tomcat5.0/webapps/jsp-examples/jsp2-tutorial 目錄下;
  3. 用瀏覽器打開chat.jsp文件。

如果一切正常,應該會看到類似如圖5所示的窗口。


5:簡單的標簽文件


注意: 重要的是要注意到這里沒有為問候標簽編寫tld,而是創建了一個標簽文件并放在特殊的目錄中,然后用taglib指令導入并直接使用它。


另一個標簽文件的例子

標簽文件可以作為模板使用。考慮代碼示例11中的標簽文件display.tag,這個例子是根據tomcat 5.0中的面板的例子改寫的。指令attribute類似于tld中的<attribute>元素,允許聲明自定義的動作屬性。

代碼示例11: display.tag

<%@ attribute name="color" %>
<%@ attribute name="bgcolor" %>
<%@ attribute name="title" %>
<table border="0" bgcolor="${color}"> <tr>
<td><b>${title}</b></td>
</tr>
<tr>
<td bgcolor="${bgcolor}">
<jsp:dobody/>
</td>
</tr>
</table>

代碼示例12給出了使用上述標簽的一個簡單的jsp頁面。

代碼示例12: newsportal.jsp

<%@ taglib prefix="tags" tagdir="/web-inf/tags" %>
<html>
<head>
<title>another tag file example</title>
</head>
<body>
<h2>news portal: another tag file example</h2>
<table border="0"> <tr valign="top">
<td>
<tags:display color="#ff0000" bgcolor="#ffc0c0"
title="travel">
last french concorde arrives in ny<br/>
another travel headline<br/>
yet another travel headline<br/>
</tags:display>
</td>
<td>
<tags:display color="#00fc00" bgcolor="#c0ffc0"
title="technology">
java for in-flight entertainment<br>
another technology headline<br>
another technology headline<br>
</tags:display>
</td>
<td>
<tags:display color="#ffcc11" bgcolor="#ffffcc"
title="sports">
american football<br/>
nba<br/>
soccer<br/>
</tags:display>
</td>
</tr>
</table>
</body>
</html>

要運行這個例子:

  1. 復制文件display.tag并保存在c:/tomcat5.0/webapps/jsp-examples/web-inf/tag 下;
  2. 復制文件newsportal.jsp并保存到c:/tomcat5.0/webapps/jsp-examples/jsp2-tutorial下;
  3. 用瀏覽器打開newsportal文件。

結果應該會得到與圖6類似的畫面。


6:把標簽文件用作模板

結論

jsp 2.0使得快速開發和維護動態網頁比以前更加容易,盡管“java”一詞出現在jsp中,但使用jsp2.0,網頁作者無須學習java程序語言本身,就能開發出全新的動態網頁。本文中的例子說明了使用jsp2.0的新特性開發動態網頁是多么容易。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久久久久国产| 久久免费视频这里只有精品| 中文在线资源观看视频网站免费不卡| 精品偷拍各种wc美女嘘嘘| 亚洲一区二区中文| 久久久久久有精品国产| 日韩成人小视频| 午夜精品久久久99热福利| 欧美精品在线观看| 久久伊人免费视频| 日韩美女av在线免费观看| 色99之美女主播在线视频| 亚洲成人a**站| 92国产精品久久久久首页| 黑人狂躁日本妞一区二区三区| 国产欧美精品一区二区| 国产成+人+综合+亚洲欧洲| 91高清免费在线观看| 亚洲国产欧美一区二区丝袜黑人| 91在线视频一区| 久久久久久国产| 日韩在线视频观看| 亚洲free性xxxx护士hd| 精品夜色国产国偷在线| 高清欧美性猛交xxxx黑人猛交| 亚洲一二三在线| 欧美日韩成人在线播放| 91亚洲va在线va天堂va国| 2025国产精品视频| 亚洲a在线播放| 55夜色66夜色国产精品视频| 日本精品久久久久久久| 久久九九精品99国产精品| 国产成人精品日本亚洲专区61| 欧美高清视频一区二区| 精品国产一区久久久| 欧美成在线观看| 国模私拍一区二区三区| 精品中文字幕久久久久久| 亚洲女成人图区| 亚洲高清在线观看| 最好看的2019的中文字幕视频| 亚洲性69xxxbbb| 成人免费视频在线观看超级碰| 日韩欧美成人网| 海角国产乱辈乱精品视频| 欧美日韩中文字幕| 亚洲精品视频中文字幕| 欧美美女15p| 国内精品一区二区三区| 国产丝袜一区二区三区| 久久91亚洲精品中文字幕| 亚洲免费av片| 日韩美女免费线视频| 欧美多人爱爱视频网站| 亚洲另类xxxx| 亚洲经典中文字幕| 国产精品日韩在线观看| 亚洲跨种族黑人xxx| 亚洲国产精品久久久久久| 亚洲国产精品人人爽夜夜爽| 国产精品色婷婷视频| 国产成人+综合亚洲+天堂| 国产日产久久高清欧美一区| 国产精品扒开腿爽爽爽视频| 亚洲第一免费播放区| 另类美女黄大片| 日韩成人在线免费观看| 国产日韩精品入口| 久久国产一区二区三区| 欧美一级淫片播放口| 成人福利视频网| 一区二区欧美亚洲| 国产婷婷成人久久av免费高清| 亚洲国产婷婷香蕉久久久久久| 欧美视频在线观看免费| 欧美成人免费在线视频| 91网站在线免费观看| 久久九九有精品国产23| 51精品国产黑色丝袜高跟鞋| 中文字幕亚洲二区| 日韩精品亚洲视频| 国产一区二区视频在线观看| 欧美国产日本在线| 国产69久久精品成人| 国产精品久久久久久久久久免费| 超碰97人人做人人爱少妇| 国产亚洲aⅴaaaaaa毛片| 91精品国产91久久久久| 国产精品久久久久久久一区探花| 国产一区二区三区日韩欧美| 精品国产一区二区三区久久狼5月| 亚洲人永久免费| 国产精品夜色7777狼人| 欧美一级电影免费在线观看| 日韩激情av在线播放| 国产中文日韩欧美| 亚洲精品视频网上网址在线观看| 欧美激情精品久久久久久免费印度| 久久黄色av网站| 久久久久久久电影一区| 亚洲成人精品视频在线观看| 亚洲综合一区二区不卡| 国外色69视频在线观看| 91在线观看免费观看| 久久久久亚洲精品成人网小说| 国产欧美日韩精品丝袜高跟鞋| 日韩精品极品在线观看播放免费视频| 91香蕉亚洲精品| 成人精品一区二区三区电影黑人| 亚洲最大av网站| 亚洲精品视频网上网址在线观看| 51久久精品夜色国产麻豆| 亚洲一区二区三区四区视频| 国产成人一区二区三区| 欧美日韩精品在线视频| 91av在线免费观看视频| 美女视频黄免费的亚洲男人天堂| 欧美肥老妇视频| 国产噜噜噜噜噜久久久久久久久| 精品国产乱码久久久久酒店| 51精品国产黑色丝袜高跟鞋| 欧美噜噜久久久xxx| 国产精品久久久久久久久久尿| 亚洲精品视频中文字幕| 欧美极品美女电影一区| 国产精品jizz在线观看麻豆| 日韩视频永久免费观看| 中文字幕欧美视频在线| 中文字幕在线观看亚洲| 岛国视频午夜一区免费在线观看| 欧美日韩成人精品| 亚洲精品视频免费| 久久久久久久网站| 国产成人av在线播放| 色综合久综合久久综合久鬼88| 欧美日韩国产成人在线| 欧美一性一乱一交一视频| 欧美性猛交xxxx黑人猛交| 成人xvideos免费视频| 欧美精品福利视频| 欧美日韩亚洲视频一区| 国产精品国产亚洲伊人久久| 亚洲第一免费网站| 日韩视频―中文字幕| 亚洲成人免费在线视频| 日韩精品免费看| 欧美大尺度在线观看| 成人国产亚洲精品a区天堂华泰| 欧美激情精品久久久久久久变态| 在线观看日韩专区| 成人免费看片视频| 狠狠做深爱婷婷久久综合一区| 91精品在线看| 国产精品视频xxxx| 日产精品99久久久久久| 久久精品人人爽| 亚洲成人网久久久| 欧美成人免费观看| 欧美最近摘花xxxx摘花| 日韩在线观看免费高清| 欧美大片网站在线观看| 欧美日韩亚洲高清| 91在线网站视频|