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

首頁 > 編程 > JSP > 正文

JSP學習筆記__JSP標簽庫

2024-09-05 00:20:25
字體:
來源:轉載
供稿:網友
菜鳥學堂:

  1.jsp標簽庫(也稱自定義庫)可看成是一套產生基于xml腳本的方法,它經由javabeans來支持。在概念上說,標簽庫是非常簡單和可以重用的代碼構造。它可以大大簡化你在頁面中輸入各種錄入框的代碼(諸如此類的代碼:<input type="text" name="taxpayername" value = " ,<select name="collectionitemcode" class="required" ...),并使之結構化。

  2.標簽庫(tag libraries)提供了建立可重用代碼塊的簡單方式。但是和com和j2ee不同的是,你不需要掌握任何額外的技能就可以建立標簽庫:如果你會編寫jsp頁面,你就會建立標簽庫。最后,標簽庫還改進了web應用程序的維護性。這種對維護性的改進表現在:輕易地在jsp頁面上就實現了基于xml的可定制接口。

  3.一個簡單的標簽由下面的元素構成:
  ⑴ javabeans:為了得到java與生具來的面向對象的好處,可重用的代碼應該放到一個獨立的代碼容器中。這些javabeans并不是標簽庫的一部分。不過它是你的代碼庫用來執行相關任務的基本代碼塊。
 ?、?標簽處理:這是標簽庫的真正核心。一個標簽處理器將引用它需要的任何資源(你的javabeans)和訪問你的jsp頁面的全部信息(pagecontext對象)。jsp頁面也會將所有已經被設置的標簽屬性和jsp頁面上的標簽體中的內容傳送給標簽處理器。在標簽處理器處理完畢后,它將發回輸出到你的jsp頁面進行處理。
 ?、?標簽庫的描述(tld文件):這是一個簡單的xml文件,它記錄著標簽處理器的屬性、信息和位置。jsp容器通過這個文件來得知從哪里及如何調用一個標簽庫。
  ⑷ 網站的web.xml文件:這是你網站的初始化文件,在這個文件中,你定義了網站中用到的自定義標簽,以及哪個tld文件用來描述每個自定義的標簽。
  ⑸ 分發文件(一個war或者jar文件):如果你想重用自定義標簽的話,你需要一個方法來將它由一個項目轉移到另一個項目中。將標簽庫打包為一個jar文件是一個簡單而且有效的方式。
  ⑹ 在你的jsp文件中作標簽庫聲明:很簡單,如果要用到該標簽的話,只要在頁面聲明一下就可以,其后,你就可以在該jsp頁面的任何地方使用它。

  下面是一個實例

  1.       先編寫標簽處理程序,atmtag.java

  //用標簽處理程序來定義客戶標簽的工作

 

import javax.servlet.jsp.*;

//導入標簽類的驅動

import javax.servlet.jsp.tagext.*;

import java.io.*;

import java.sql.*;

import java.math.*;

import java.util.*;

//實現tagsupportbodytagsupport接口

public class atmtag extends tagsupport

{

       connection connect = null;

       statement state = null;

       resultset result = null;

       public atmtag() throws classnotfoundexception

       {

           class.forname("sun.jdbc.odbc.jdbcodbcdriver");

       }

       //抽象類tag的方法,標簽處理程序的初始化

       public int dostarttag() throws jsptagexception

       {

              //指導jsp引擎處理標簽的體內容

              return eval_body_include;

       }

 

              //執行標簽任務

              public int doendtag() throws jsptagexception

              {

                 try

                 {

                          //把輸出寫到jsp頁面

                            jspwriter out=pagecontext.getout();

                           

                            connect=drivermanager.getconnection("jdbc:odbc:test","sa","");

                           

                           

                            string strquery = " select ccounter_id, caddress,mcashbalance from counter where mcashbalance<=10000; " ;

                            system.out.println("query: "+strquery);

                            state = connect.createstatement();

                            resultset result = state.executequery(strquery);

                            string sid=null;

                            string saddress=null;

                            string sbalance=null;

                            vector v=new vector();

                     while(result.next())

                     {

                           

                            sid  = result.getstring(1);

                            saddress  = result.getstring(2);

                            sbalance  = result.getstring(3);

                            v.add(sid);

                            v.add(saddress);

                            v.add(sbalance);

                            v.add(";");

 

                     }

                                for(int i=0;i<v.size();i++)

                            {

                                   string str=(string)v.elementat(i);

                                   pagecontext.getout().write(str);

                            }

              }catch(exception ioe)

              {

                     system.out.println(" error in getting results"+ioe.tostring());

              }

              //指出對jsp頁面其余部分求值

                     return eval_page;

       }

 

}

 

  2.       編寫tld文件的代碼:

  //xml驗證文檔

<?xml version="1.0" encoding="iso-8859-1"?>

<!doctype taglib public "-//sun microsystems, inc.//dtd jsp tag library 1.1//en"

"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">

<taglib>

   //標簽庫版本

   <tlibversion>1.0</tlibversion>

   //標簽庫依賴的jsp版本

   <jspversion>1.1</jspversion>

   //標簽庫名

   <shortname>atmjsp</shortname>

   //關于標簽庫的詳細信息

   <info>a tag library</info>

   <tag>

       //定義標簽的名

      <name>atm</name>

       //指出標簽處理程序類

      <tagclass>atmtag</tagclass>

       //此標簽體的定義

      <body-content>jsp</body-content>

       //關于此標簽與其功能的附加信息

      <info>outputs of the atm counter</info>

   </tag>

</taglib>

 

  3.       錯誤頁面errorpage.jsp的代碼:

<html>

<body>

       <%@ page iserrorpage="true" %>

       <%=exception.getmessage() %>

</body>

</html>

 

4.    編寫jsp文件:atm.jsp

<%@ page import="atmtag" %>

<%@ taglib uri="atmjsp.tld" prefix="atmjsp" %>

<%@ page errorpage="errorpage.jsp" %>

<!doctype html public "-//w3c//dtd html 4.0 translational//en ">

<html>

       <h3 align=center>atm counters that needs cash</h3>

       <table>

              <tr><td></td><td><atmjsp:atm/></td></tr>

       </table>

</html>

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久九九全国免费精品观看| 亚洲视频在线观看免费| 亚洲欧洲高清在线| 亚洲成**性毛茸茸| 久久久亚洲影院你懂的| 国产视频亚洲精品| 日韩在线观看你懂的| 国产精品免费一区豆花| 色狠狠久久aa北条麻妃| 九九热视频这里只有精品| 91精品国产电影| 91精品国产综合久久香蕉最新版| 91精品久久久久久久| 欧美www在线| 亚洲天堂av图片| 国产精品wwwwww| 国产精品日韩欧美| 日韩最新在线视频| 亚洲美女在线视频| 国产欧美日韩综合精品| 97精品国产97久久久久久免费| 68精品国产免费久久久久久婷婷| 92国产精品久久久久首页| 欧美一级大胆视频| 国产97在线|日韩| 国产精品第8页| 亚洲大胆人体av| 欧美又大又硬又粗bbbbb| 国产日韩av高清| 日韩中文字幕视频在线观看| 在线观看日韩专区| 91在线视频精品| 日韩一区在线视频| 精品人伦一区二区三区蜜桃网站| 国产午夜精品美女视频明星a级| 深夜福利91大全| 亚洲精品综合久久中文字幕| 欧美激情在线狂野欧美精品| 大胆欧美人体视频| 国产欧美精品日韩| 久久久精品免费| 久久激情视频免费观看| 国产免费久久av| 亚洲影院在线看| 久久久久亚洲精品| 亚洲女同精品视频| 成人亚洲欧美一区二区三区| 91po在线观看91精品国产性色| 国产精品中文字幕久久久| 国产亚洲欧美另类中文| 国产裸体写真av一区二区| 久久久噜久噜久久综合| 久久久久久久久久久人体| 国产精品99久久久久久www| 日韩少妇与小伙激情| 亚洲成人中文字幕| 久久精品亚洲一区| 欧美日韩加勒比精品一区| 国产男人精品视频| 91精品国产高清久久久久久| 日韩一区视频在线| 欧美老少配视频| 欧美老女人性视频| 日产精品99久久久久久| 色综合天天狠天天透天天伊人| 久久精品免费电影| 青青草精品毛片| 色视频www在线播放国产成人| xxav国产精品美女主播| 日韩高清有码在线| 国产精品视频免费观看www| 国产日韩在线观看av| 久久久久在线观看| xxxxx成人.com| 亚洲精品电影网站| 1769国内精品视频在线播放| 日韩中文字幕在线精品| 国产成人亚洲综合青青| 亚洲性线免费观看视频成熟| 亚洲欧美日韩国产中文专区| 欧美有码在线观看视频| 欧美另类暴力丝袜| 高清日韩电视剧大全免费播放在线观看| 色噜噜狠狠狠综合曰曰曰| 中文在线不卡视频| 亚洲国产精品久久久久秋霞不卡| 亚洲国产精品久久久久| 中文字幕亚洲情99在线| 欧美日韩国产成人| 九九九久久久久久| 国产成人精品一区二区| 欧美一性一乱一交一视频| 久久香蕉精品香蕉| 亚洲欧美日韩精品久久奇米色影视| 日本电影亚洲天堂| 亚洲一区av在线播放| 久久99精品国产99久久6尤物| 国产精自产拍久久久久久| 国产精品人成电影在线观看| 欧美日韩中文字幕在线| 国产成+人+综合+亚洲欧洲| 中文字幕日韩精品在线| 97在线精品国自产拍中文| 欧美俄罗斯性视频| 国产成人一区二区三区| 一区二区成人精品| 亚洲毛片在线免费观看| 国产亚洲美女精品久久久| 欧美整片在线观看| 日韩二区三区在线| 96pao国产成视频永久免费| www.日韩不卡电影av| 国产欧美欧洲在线观看| 欧美日韩爱爱视频| 日本高清不卡在线| 视频在线观看一区二区| 亚洲精品99久久久久| 国产精品老女人视频| 岛国精品视频在线播放| 福利视频导航一区| 国产精品69久久| 中文字幕在线国产精品| 欧美中文在线观看| 成人黄色激情网| 日韩av在线电影网| 亚洲www在线| 久久久91精品国产一区不卡| 欧美精品九九久久| 精品动漫一区二区| 日韩黄在线观看| 国产成人一区三区| 97久久精品国产| 性欧美xxxx视频在线观看| 久久天堂av综合合色| 91av在线看| 一区二区三区久久精品| 日韩免费av片在线观看| 国产日产欧美精品| 九九热99久久久国产盗摄| 久久人人爽人人爽人人片亚洲| 黄色成人在线免费| 国产美女扒开尿口久久久| 日韩美女视频中文字幕| 亚洲欧洲高清在线| 麻豆成人在线看| 欧美富婆性猛交| 一区二区三区www| 国产精品亚洲视频在线观看| 久久久人成影片一区二区三区| 欧美激情第1页| 久久午夜a级毛片| 亚洲黄色www网站| 中文字幕v亚洲ⅴv天堂| 国产精品精品久久久| 欧美大成色www永久网站婷| 亚洲日韩中文字幕| 91久久在线播放| 国产精品九九久久久久久久| 国产成人亚洲综合91精品| 欧美洲成人男女午夜视频| 91中文字幕在线观看| 久久黄色av网站| 日韩中文在线中文网在线观看| 国产精品无av码在线观看|