日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

JSPServletJSF自定義標(biāo)簽_JSP教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:Jsp常用技巧圖片驗(yàn)證碼
思路: 圖片驗(yàn)證碼的實(shí)現(xiàn)主要的技術(shù)點(diǎn)是如何生成一個(gè)圖片。生成圖片可以使用java.awt包下的類來(lái)實(shí)現(xiàn)。我們先寫一個(gè)簡(jiǎn)單的生成圖片的程序HelloImage.java。以下是代碼部分。 package

jsp自定義標(biāo)簽的定義步驟:

創(chuàng)建標(biāo)記處理器
創(chuàng)建TLD文件
編輯web.xml
在JSP頁(yè)面中使用此標(biāo)簽

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

我們用到過(guò)自定義標(biāo)簽的人,也許最大的體會(huì)是他的復(fù)雜性,但是下面這種用法,卻讓我們對(duì)他的認(rèn)知有所改變(事例介紹采用struts版本)

在一個(gè)web應(yīng)用中,將數(shù)據(jù)庫(kù)查詢結(jié)果集ResultSet rs保存至session或者reueest范圍內(nèi),再傳遞給jsp頁(yè)面來(lái)顯示。這本身是沒問(wèn)題的,但是當(dāng)同時(shí)查詢的用戶非常多時(shí),服務(wù)器的壓力就非常大。如果我們使用自定義標(biāo)簽,將結(jié)果集返回到j(luò)sp頁(yè)面,情況就不一樣了。具體實(shí)現(xiàn)如下:

Datatag .java

以下為引用的內(nèi)容:
-----------------------------------------------------------------
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

以下為引用的內(nèi)容:

--------------------------------------------------------------------
< ?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
---------------------------------------------------------------
添加以下內(nèi)容:

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

displayAction.do

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

如果不是用的struts,可以通過(guò)其他方法,實(shí)現(xiàn)這步!

display.jsp

以下為引用的內(nèi)容:
-----------------------------------------------------------------
< %@ 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>

這樣,在你的每一個(gè)jsp中,只要想輸出查詢結(jié)果,就只需要調(diào)用< app:result/>就可以了!

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

分享:JSP動(dòng)態(tài)網(wǎng)站環(huán)境搭建的詳細(xì)步驟
Sun推出的JSP(Java Server Pages)是一種執(zhí)行于服務(wù)器端的動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)技術(shù),它基于Java技術(shù)。執(zhí)行JSP時(shí)需要在Web服務(wù)器上架設(shè)一個(gè)編譯JSP網(wǎng)頁(yè)的引擎。配置 JSP 環(huán)境可以有多種途徑

來(lái)源:模板無(wú)憂//所屬分類:JSP教程/更新時(shí)間:2008-08-22
相關(guān)JSP教程