日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

html與jsp開發(fā)分離技術(shù)

瀏覽:37日期:2024-06-23 11:53:09
內(nèi)容: 在傳統(tǒng)的JSP程序中,我們將HTML代碼與Java代碼混合在一起編寫,這樣雖然方便,但同時(shí)也導(dǎo)致頁(yè)面難以維護(hù),HTML開發(fā)人員和JSP開發(fā)人員負(fù)擔(dān)加重,我們可以將這種傳統(tǒng)的技術(shù)成為頁(yè)面拉數(shù)據(jù)技術(shù)。 怎樣才能做到將HTML開發(fā)和JSP開發(fā)分離呢?答案就是使用Tag技術(shù),通過使用Tag技術(shù),我們就可以在頁(yè)面程序中不出現(xiàn)JSP代碼,在需要數(shù)據(jù)的地方,大家先約定好標(biāo)簽,然后由Tag的后臺(tái)處理程序去替換這些標(biāo)簽,顯示數(shù)據(jù)。我稱這種技術(shù)叫做向頁(yè)面推數(shù)據(jù),頁(yè)面只要定義好格式就行了。這樣,我們可以讓HTML開發(fā)人員專注于頁(yè)面的外觀,而Java程序員則不用理會(huì)頁(yè)面顯示,專注于后臺(tái)程序,大大提高了程序的可維護(hù)性和方便性。便于各程序員之間的協(xié)作開發(fā)。 首先你要懂一些Tag技術(shù),然后才能閱讀本文。下面是樣例程序:一、首先是替換字符串的replace函數(shù) // 替換字符串函數(shù) // String strSource - 源字符串 // String strFrom - 要替換的子串 // String strTo - 替換為的字符串 public static String replace(String strSource, String strFrom, String strTo) { // 如果要替換的子串為空,則直接返回源串 if(strFrom == null || strFrom.equals('')) return strSource; String strDest = ''; // 要替換的子串長(zhǎng)度 int intFromLen = strFrom.length(); int intPos; // 循環(huán)替換字符串 while((intPos = strSource.indexOf(strFrom)) != -1) { // 獲取匹配字符串的左邊子串 strDest = strDest + strSource.substring(0,intPos); // 加上替換后的子串 strDest = strDest + strTo; // 修改源串為匹配子串后的子串 strSource = strSource.substring(intPos + intFromLen); } // 加上沒有匹配的子串 strDest = strDest + strSource; // 返回 return strDest; }二、Tld文(MyBookTag.tld) 定義你的標(biāo)簽<?xml version='1.0' encoding='ISO-8859-1' ?> taglib PUBLIC '//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN' 'http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd'> 1.0 1.2 ListBook com.book.taglib.ListBookTag <body-content>JSP</body> 三、Tag的后臺(tái)處理文件,負(fù)責(zé)解釋標(biāo)簽(ListBookTag.java)package com.book.taglib;import java.util.*;import java.lang.*;import com.book.model.bookmodel;import com.book.utils.StringHelper;import javax.servlet.jsp.JspTagException;import javax.servlet.jsp.tagext.BodyTagSupport;import javax.servlet.jsp.tagext.BodyContent;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.JspWriter;import javax.servlet.ServletRequest;public class ListBookTag extends BodyTagSupport { // 標(biāo)志開始位置執(zhí)行 public int doStartTag(){ return EVAL_BODY_BUFFERED; } // 標(biāo)志結(jié)束位置執(zhí)行 public int doEndTag()throws JspTagException { int max = 0; String ListBody = null; int number = 1; // 獲取頁(yè)碼信息,也就是request對(duì)象中的內(nèi)容 String serialNo = pageContext.getRequest().getParameter('serialNo'); // 轉(zhuǎn)換為整數(shù) try{ number = Integer.parseInt(serialNo); } catch(Exception e){ number = 1; } if (number < 1) number = 1; // 獲取保存在Session中的數(shù)據(jù)集,當(dāng)然這里也可以從數(shù)據(jù)庫(kù)中取數(shù)據(jù) Vector bookVector = (Vector)pageContext.getSession().getAttribute('bookVector'); if(number*100){ // 獲取標(biāo)簽內(nèi)部的內(nèi)容 BodyContent bc = getBodyContent(); for (int i = (number - 1) * 10; i < max; i++) { // 獲取一條記錄 bookmodel model = (bookmodel) bookVector.get(i); if (model == null) model = new bookmodel(); // 替換內(nèi)容(就是在這里輸出數(shù)據(jù)的,替換) String body = bc.getString(); body = StringHelper.replace(body, '$_SerialNo', model.getBookid()); body = StringHelper.replace(body, '$_BookName', model.getBookname()); body = StringHelper.replace(body, '$_Author', model.getAuthor()); body = StringHelper.replace(body, '$_PHouse', model.getPhouse()); body = StringHelper.replace(body, '$_Price', model.getPrice().toString()); body = StringHelper.replace(body, '$_index', Integer.toString(i)); // 向頁(yè)面輸出 try{ pageContext.getOut().print(body); } catch(Exception e){ } } } return EVAL_PAGE; }}四、JSP頁(yè)面(BookList.jsp)<%@page contentType='text/html; charset=GBK'%><%@ taglib uri='/MyBookTag' prefix='MyBookTag' %><head>一個(gè)基于J2EE的圖書DEMO<script language='javascript'>function returnBack(){ document.form1.action = 'BookAdmin.jsp';}</script></head><body bgcolor='#FFFFFF' text='#000000' leftmargin='0' topmargin='0'>圖書列表<form name='form1' method='post'> <table border='1' cellspacing='0' cellpadding='3' bordercolor='#A5ABB6' bordercolordark='#ffffff'> <tr align='center'> <td bgcolor='FEFBF4' height='41'>序號(hào)</td> <td bgcolor='FEFBF4' height='41'>圖示名稱</td> <td bgcolor='FEFBF4' height='41'>圖書作者</td> <td bgcolor='FEFBF4' height='41'>出版社</td> <td bgcolor='FEFBF4' height='41'>圖書價(jià)格</td> <td bgcolor='FEFBF4' height='41'>操作</td> </tr>
標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产资源在线观看入口av| 国产调教精品| 精品国产亚洲一区二区三区大结局 | 在线 亚洲欧美在线综合一区| 日韩精品中文字幕第1页| 国产一区二区精品久| 国产不卡精品在线| 日韩中文影院| 欧洲激情综合| 手机精品视频在线观看| 日韩一级不卡| 中文字幕亚洲精品乱码| 日韩高清电影免费| 你懂的国产精品永久在线| 国产精品99精品一区二区三区∴| 久久久国产精品网站| 欧美xxxx中国| 亚洲成a人片| 在线一区免费| 亚洲日本三级| 日韩黄色在线观看| 国产精东传媒成人av电影| 免费一区二区三区在线视频| 成人国产精品一区二区网站| 久久美女性网| 国产亚洲精品久久久久婷婷瑜伽| 视频在线在亚洲| 国产探花一区| 日韩久久一区二区三区| 在线亚洲精品| 日韩二区在线观看| 国产成人久久精品一区二区三区| 久久久久99| 亚洲欧洲美洲国产香蕉| 国产精品99久久免费| av在线日韩| 日韩中文字幕区一区有砖一区 | 鲁大师影院一区二区三区| 日韩精品欧美精品| 日韩av自拍| 午夜在线观看免费一区| 国产欧美日韩一区二区三区在线| 日韩毛片视频| 亚欧洲精品视频在线观看| 精品美女视频| 亚洲免费婷婷| 麻豆高清免费国产一区| 欧美午夜不卡影院在线观看完整版免费| 日韩欧美中文字幕一区二区三区| 麻豆91精品视频| 在线 亚洲欧美在线综合一区| 国产午夜一区| 欧美va亚洲va日韩∨a综合色| 日韩高清不卡在线| 欧美色图国产精品| 国产精品永久| 黑丝一区二区三区| 久久97视频| 久久亚洲欧美| 97精品97| 欧美日韩一区二区国产| 99久久夜色精品国产亚洲狼 | 午夜国产精品视频免费体验区| 日韩av一区二区三区| 久久精选视频| 国产精品亲子伦av一区二区三区| 伊人精品在线| 国产不卡av一区二区| 日韩欧美另类中文字幕| 成人羞羞视频播放网站| 国产欧美日韩亚洲一区二区三区| 欧美精品一区二区三区精品| 麻豆国产精品| 日韩精品一区二区三区中文| 亚洲天堂成人| 精品一二三区| 亚洲精品影院在线观看| 久久精品免费一区二区三区| 国产精品丝袜在线播放| 热久久免费视频| 久久裸体视频| 精品亚洲免a| 欧美在线看片| 麻豆精品91| 欧美日韩精品一区二区视频| 麻豆国产精品| 国产午夜久久av| 亚洲精品九九| 亚洲欧美久久久| 久久精品官网| 国产色播av在线| 国产毛片精品| 亚洲精品伊人| 中文精品电影| 亚洲在线免费| 欧美日韩免费观看一区=区三区| 97精品一区| 久久永久免费| 国产精品毛片aⅴ一区二区三区| 最新国产精品久久久| 99视频精品| 免费精品国产的网站免费观看| 91av亚洲| 日韩国产激情| jizzjizz中国精品麻豆| 久久字幕精品一区| 国产精品一区二区三区四区在线观看 | 免费看日韩精品| 99视频+国产日韩欧美| 久久高清免费| 精精国产xxxx视频在线野外| 国产成人免费av一区二区午夜| 国产精品第一| 国产伦理一区| 国产欧美日韩一区二区三区四区| 欧美日韩亚洲一区二区三区在线| 蜜臀精品久久久久久蜜臀| 日韩视频一区| 日韩视频一区| 久久www成人_看片免费不卡| 蜜桃一区二区三区| 制服诱惑一区二区| 亚洲综合精品| 亚洲精品欧洲| 欧美一区成人| 国产精品久久久久久妇女 | 国产调教精品| 国产精品香蕉| 精品视频97| 国产成人免费av一区二区午夜| 国产精品久久久久久久久妇女| 国产精品成久久久久| 国产精品99一区二区三| 视频二区不卡| 亚洲高清影视| 一区二区亚洲视频| 欧美一区二区三区久久| 麻豆精品av| 黄在线观看免费网站ktv| 欧美久久天堂| 黄页网站一区| 亚洲aa在线| 久久精品72免费观看| 国产精品片aa在线观看| 精品一区91| 久久久久国产精品一区三寸| 亚洲激情中文| 日韩一区二区三区在线看| 国产精品久久久久毛片大屁完整版 | 91精品成人| 亚洲一区导航| 国产精品巨作av| 日韩精品麻豆| 丝袜美腿亚洲色图| 欧美亚洲三级| 亚洲三级欧美| 六月丁香综合| 欧美国产另类| 日本少妇一区| 日韩中文字幕不卡| 国产精品66| 日韩精品影视| 综合五月婷婷| 丁香婷婷久久| 女人天堂亚洲aⅴ在线观看| 日本vs亚洲vs韩国一区三区二区| 国产精品免费99久久久| 日韩亚洲一区在线| 首页亚洲欧美制服丝腿| 国产乱码精品一区二区三区四区 | 国产一区成人| 国产伦乱精品| 精品在线播放| 欧美一区自拍| 久久国产欧美| 日本在线成人| 欧美国产偷国产精品三区| 欧美专区18| 精品久久99| 先锋影音国产一区| 风间由美中文字幕在线看视频国产欧美| 怡红院精品视频在线观看极品| 国产精品扒开腿做爽爽爽软件| 99视频精品视频高清免费| 日韩av一区二| 国产综合视频| 欧美成人精品一级| 免费看的黄色欧美网站| 卡一卡二国产精品| 石原莉奈在线亚洲二区| 国产不卡一区| 日韩三级精品| 九九综合在线| 精品国产亚洲一区二区三区大结局| 在线视频精品| 国产高潮在线| 日韩avvvv在线播放| 免费观看久久av| 成人国产精品久久| 日本视频在线一区|