电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

html與jsp開發分離技術

瀏覽:11日期:2024-06-23 11:53:09
內容: 在傳統的JSP程序中,我們將HTML代碼與Java代碼混合在一起編寫,這樣雖然方便,但同時也導致頁面難以維護,HTML開發人員和JSP開發人員負擔加重,我們可以將這種傳統的技術成為頁面拉數據技術。 怎樣才能做到將HTML開發和JSP開發分離呢?答案就是使用Tag技術,通過使用Tag技術,我們就可以在頁面程序中不出現JSP代碼,在需要數據的地方,大家先約定好標簽,然后由Tag的后臺處理程序去替換這些標簽,顯示數據。我稱這種技術叫做向頁面推數據,頁面只要定義好格式就行了。這樣,我們可以讓HTML開發人員專注于頁面的外觀,而Java程序員則不用理會頁面顯示,專注于后臺程序,大大提高了程序的可維護性和方便性。便于各程序員之間的協作開發。 首先你要懂一些Tag技術,然后才能閱讀本文。下面是樣例程序:一、首先是替換字符串的replace函數 // 替換字符串函數 // 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 = ''; // 要替換的子串長度 int intFromLen = strFrom.length(); int intPos; // 循環替換字符串 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) 定義你的標簽<?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的后臺處理文件,負責解釋標簽(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 { // 標志開始位置執行 public int doStartTag(){ return EVAL_BODY_BUFFERED; } // 標志結束位置執行 public int doEndTag()throws JspTagException { int max = 0; String ListBody = null; int number = 1; // 獲取頁碼信息,也就是request對象中的內容 String serialNo = pageContext.getRequest().getParameter('serialNo'); // 轉換為整數 try{ number = Integer.parseInt(serialNo); } catch(Exception e){ number = 1; } if (number < 1) number = 1; // 獲取保存在Session中的數據集,當然這里也可以從數據庫中取數據 Vector bookVector = (Vector)pageContext.getSession().getAttribute('bookVector'); if(number*100){ // 獲取標簽內部的內容 BodyContent bc = getBodyContent(); for (int i = (number - 1) * 10; i < max; i++) { // 獲取一條記錄 bookmodel model = (bookmodel) bookVector.get(i); if (model == null) model = new bookmodel(); // 替換內容(就是在這里輸出數據的,替換) 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)); // 向頁面輸出 try{ pageContext.getOut().print(body); } catch(Exception e){ } } } return EVAL_PAGE; }}四、JSP頁面(BookList.jsp)<%@page contentType='text/html; charset=GBK'%><%@ taglib uri='/MyBookTag' prefix='MyBookTag' %><head>一個基于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'>序號</td> <td bgcolor='FEFBF4' height='41'>圖示名稱</td> <td bgcolor='FEFBF4' height='41'>圖書作者</td> <td bgcolor='FEFBF4' height='41'>出版社</td> <td bgcolor='FEFBF4' height='41'>圖書價格</td> <td bgcolor='FEFBF4' height='41'>操作</td> </tr>
標簽: JavaScript
相關文章:
主站蜘蛛池模板: 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 防火阀、排烟防火阀、电动防火阀产品生产销售商-德州凯亿空调设备有限公司 | 飞歌臭氧发生器厂家_水处理臭氧发生器_十大臭氧消毒机品牌 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | hc22_hc22价格_hc22哈氏合金—东锜特殊钢 | 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 | 开锐教育-学历提升-职称评定-职业资格培训-积分入户 | IIS7站长之家-站长工具-爱网站请使用IIS7站长综合查询工具,中国站长【WWW.IIS7.COM】 | 诸城网站建设-网络推广-网站优化-阿里巴巴托管-诸城恒泰互联 | 模具硅橡胶,人体硅胶,移印硅胶浆厂家-宏图硅胶科技 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 京马网,京马建站,网站定制,营销型网站建设,东莞建站,东莞网站建设-首页-京马网 | 双菱电缆-广州电缆厂_广州电缆厂有限公司 | 智能汉显全自动量热仪_微机全自动胶质层指数测定仪-鹤壁市科达仪器仪表有限公司 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 岩棉切条机厂家_玻璃棉裁条机_水泥基保温板设备-廊坊鹏恒机械 | 青岛成人高考_山东成考报名网| 防爆电机-高压防爆电机-ybx4电动机厂家-河南省南洋防爆电机有限公司 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 超声波清洗机_大型超声波清洗机_工业超声波清洗设备-洁盟清洗设备 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 清水混凝土修复_混凝土色差修复剂_混凝土色差调整剂_清水混凝土色差修复_河南天工 | 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | 钢丝绳探伤仪-钢丝绳检测仪-钢丝绳探伤设备-洛阳泰斯特探伤技术有限公司 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 防伪溯源|防窜货|微信二维码营销|兆信_行业内领先的防伪防窜货数字化营销解决方案供应商 | 心肺复苏模拟人|医学模型|急救护理模型|医学教学模型上海康人医学仪器设备有限公司 | 苏州工作服定做-工作服定制-工作服厂家网站-尺品服饰科技(苏州)有限公司 | 东莞动力锂电池保护板_BMS智能软件保护板_锂电池主动均衡保护板-东莞市倡芯电子科技有限公司 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 连续油炸机,全自动油炸机,花生米油炸机-烟台茂源食品机械制造有限公司 | 杭州中策电线|中策电缆|中策电线|杭州中策电缆|杭州中策电缆永通集团有限公司 | 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | 焊锡,锡膏,锡线,锡条,焊锡膏-绿志岛金属有限公司| 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 长沙印刷厂-包装印刷-画册印刷厂家-湖南省日大彩色印务有限公司 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 |