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

首頁 > 編程 > JSP > 正文

JSPServletJSF自定義標簽

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

jsp自定義標簽的定義步驟:

創建標記處理器
創建TLD文件
編輯web.xml
在JSP頁面中使用此標簽

在此我們主要討論和學習的不是如何開發自定義標簽,所以具體的開發事例百度或google一下就可以找到,在此不再贅述。

我們用到過自定義標簽的人,也許最大的體會是他的復雜性,但是下面這種用法,卻讓我們對他的認知有所改變(事例介紹采用struts版本)

在一個web應用中,將數據庫查詢結果集ResultSet rs保存至session或者reueest范圍內,再傳遞給jsp頁面來顯示。這本身是沒問題的,但是當同時查詢的用戶非常多時,服務器的壓力就非常大。如果我們使用自定義標簽,將結果集返回到jsp頁面,情況就不一樣了。具體實現如下:

Datatag .java

以下為引用的內容:
-----------------------------------------------------------------
package getdata;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.sql.*;

public class Datatag extends TagSupport
{

public int doStartTag()throws JspException
{


ResultSet rs=(ResultSet)this.pageContext.getSession().getAttribute("resultSet");
try{
JspWriter out=pageContext.popBody();
while(rs.next())
{
out.println("< tr>");
out.println("< form>");
out.println("< td align='center'> < input type='checkbox' name='checkbox' value='checkbox'> < /td>");
out.println("< td>" rs.getString("receiver") "< /td>");
out.println("< td>< a href=showdatail.jsp>" rs.getString("title") "< /a>< /td>");
out.println("< td>< a href=upload/" rs.getString("annex") "> " rs.getString("annex") "< /a>< /td>");
out.println("< td>" rs.getString("date") "< /td>");
out.println("< /form>");
out.println("< /tr>");
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
return SKIP_BODY;
}
public int doEndTag() throws JspException
{
return EVAL_PAGE;

}
}

data.tld

以下為引用的內容:

--------------------------------------------------------------------
< ?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">

< taglib>
< tlib-version>1.0< /tlib-version>
< jsp-version>1.1< /jsp-version>

< tag>
< name>result< /name>
< tag-class>getdata.Datatag< /tag-class>
< body-content>jsp< /body-content>
< /tag>
< /taglib>

web.xml
---------------------------------------------------------------
添加以下內容:

以下為引用的內容:
< taglib>
< taglib-uri>/WEB-INF/data.tld< /taglib-uri>
< taglib-location>/WEB-INF/data.tld< /taglib-location>
< /taglib>

displayAction.do

以下為引用的內容:
------------------------------------------------------------------
String strSql=new String("select * from yonghu");
HttpSession session=httpServletRequest.getSession();
session.setAttribute("strSql",strSql) ;
return actionMapping.findForward("success") ;

如果不是用的struts,可以通過其他方法,實現這步!

display.jsp

以下為引用的內容:
-----------------------------------------------------------------
< %@ page contentType="text/html; charset=GBK" %>
< %@ taglib uri="/WEB-INF/data.tld" prefix="app" %>
< html>
< head>
< title>
display
< /title>
< /head>
< body bgcolor="#ffffff">
< app:result />
< /body>
< /html>

這樣,在你的每一個jsp中,只要想輸出查詢結果,就只需要調用< app:result/>就可以了!

以上代碼不一定完全正確,但其中的思想已經非常清晰了!在大的項目中,這種模式非常被推崇!它體現了java 代碼重用的思想,并且也使結果集的相關操作不直接暴露與用戶,也實現了安全。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区二区免费在线| 国产欧美日韩中文字幕| 欧美性猛交xxxx免费看漫画| 国产精品99久久久久久白浆小说| 91中文精品字幕在线视频| 精品偷拍各种wc美女嘘嘘| 日韩经典一区二区三区| 亚洲xxx视频| 大胆人体色综合| 亚洲激情在线观看| 欧美日韩免费网站| 成人激情黄色网| 在线亚洲男人天堂| 久久久久久久久国产| 亚洲男人av在线| 亚洲激情免费观看| 日韩电影中文 亚洲精品乱码| 日韩美女av在线| 91在线视频九色| 欧美日韩亚洲网| 日本午夜人人精品| 国产第一区电影| 成人亚洲欧美一区二区三区| 黄色91在线观看| 亚洲国产精品小视频| 国产91|九色| 7777精品视频| 亚洲性日韩精品一区二区| 欧美性猛交视频| 不用播放器成人网| 91网站在线看| 久久全国免费视频| 欧美韩国理论所午夜片917电影| 国产精品免费福利| 久久伊人色综合| 欧美另类第一页| 国产z一区二区三区| 欧美极品在线视频| 91精品国产成人www| 黄色成人在线播放| 亚洲欧美一区二区三区在线| 国产精品色悠悠| 日韩大胆人体377p| 日韩精品中文字幕有码专区| 国产精品一区二区三区毛片淫片| 成人美女免费网站视频| 欧美日韩成人免费| 国产91对白在线播放| 欧美亚洲免费电影| 日韩av中文字幕在线播放| 亚洲欧美激情四射在线日| 中文字幕欧美日韩在线| 黄色成人av网| 欧美亚洲激情视频| 精品偷拍各种wc美女嘘嘘| 日韩av快播网址| 中文字幕久热精品视频在线| 日韩av高清不卡| 精品视频www| 久久在线视频在线| 国产一区二区三区在线播放免费观看| 欧美成人精品激情在线观看| 欧美一区二区影院| 亚洲图中文字幕| 青草青草久热精品视频在线观看| 欧美日韩中文字幕在线视频| 欧美激情视频网站| 中文在线资源观看视频网站免费不卡| 亚洲网站在线看| 97香蕉久久超级碰碰高清版| 中文字幕亚洲欧美日韩在线不卡| 国产精品69久久久久| 久久久精品999| 国产精品久久久久久久9999| 夜夜躁日日躁狠狠久久88av| 成人有码在线视频| 欧美性猛交xxxx乱大交极品| 亚洲一级一级97网| 日韩免费高清在线观看| 欧美亚洲另类在线| 中文综合在线观看| 精品性高朝久久久久久久| 国产成人avxxxxx在线看| 精品国产精品三级精品av网址| 日韩69视频在线观看| 精品国产依人香蕉在线精品| 欧洲精品在线视频| 久久天天躁狠狠躁夜夜爽蜜月| 欧美视频在线观看 亚洲欧| 欧美疯狂xxxx大交乱88av| 国产精品视频久久久| 欧美精品18videos性欧| 精品国产乱码久久久久久天美| 日韩中文字幕欧美| 日韩av在线网址| 欧美精品在线观看91| 国产人妖伪娘一区91| 日韩电影在线观看中文字幕| 亚洲成人久久一区| 在线精品国产欧美| 日韩av网站在线| 欧美精品第一页在线播放| 亚洲自拍偷拍区| 亚洲人成电影网站色xx| 欧美第一黄色网| 欧美亚洲成人免费| 亚洲精品美女免费| 国产精品欧美久久久| 国产精品第1页| 欧美性生活大片免费观看网址| 欧美在线视频a| 日韩人在线观看| 亚洲男人天堂2019| 精品美女永久免费视频| 欧美激情一二三| 久久国产色av| 国产精品电影网站| 国模gogo一区二区大胆私拍| 欧美一区二区色| 欧美精品在线免费观看| 国产成人综合精品| 久久久噜噜噜久久久| 亚洲男人的天堂在线播放| 亚洲欧美中文在线视频| 国产一区二区在线免费| 欧美高清视频在线播放| 国产欧美精品日韩精品| 日韩精品免费看| 欧美激情精品在线| 在线观看亚洲视频| 亚洲欧美国产日韩天堂区| www.日韩系列| 久久久综合av| 久久人人爽国产| 欧美激情一区二区三级高清视频| 国产在线高清精品| 色噜噜狠狠狠综合曰曰曰| 一本色道久久88亚洲综合88| 成人黄色大片在线免费观看| 中文字幕在线精品| 亚洲午夜未满十八勿入免费观看全集| 日韩av电影在线免费播放| 成人黄色av网站| 亚洲bt欧美bt日本bt| 欧美激情图片区| 日本不卡高字幕在线2019| 国产97色在线|日韩| 精品动漫一区二区| 久久久久久久久久久久久久久久久久av| 久久中文字幕一区| 一区二区亚洲欧洲国产日韩| 亚洲男人7777| 欧美成人午夜影院| 亚洲欧洲在线看| 亚洲美女在线看| 国语自产精品视频在免费| 久久婷婷国产麻豆91天堂| 国产主播精品在线| 91色在线观看| 欧美激情久久久久| 91日韩在线播放| 国产精品久久久久7777婷婷| 岛国av一区二区在线在线观看| 欧美国产日韩一区二区三区|