使用自定义标签,将结果集返回到jsp页面!(推荐方法)

js|页面

在web应用中,如果直接将结果集 ResultSet   rs,保存在session ,或者 reueest范围内,

可以将其传递到jsp,并显示,

但是要考虑到,如果同时查询的用户非常多,服务器的压力就非常大!

所以我本人建议用以下方法!

我觉得应该自己写一个标签。比如为 display.java然后将起定义为标签,对于你每次要显示的内容,其实你只要传递关键字,比如:sql 语句。就可以了!然后在你的页面中利用自定义的标签:比如为:  <app:display>  就可以实现了!

以下是本人写的一个很简单的标签,在struts中!

                        displayTag.java-----------------------------------------------------------------import javax.servlet.jsp.tagext.TagSupport;import java.io.IOException;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.JspException;import javax.servlet.http.HttpSession;import java.sql.*;

public final class DisplayTag  extends TagSupport {  public int doEndTag()throws JspException{    UserDao userdao=new UserDao();    JspWriter out=pageContext.getOut();    HttpSession session=pageContext.getSession();    try{      String name="name";      String password="password";      String strSql=(String)session.getAttribute("strSql");      ResultSet rs=userdao.disPlay(strSql);

      out.println("<table border=1>");      out.println("<tr>");      out.println("<th width=100>"+name+"</th>");      out.println("<th width=100>"+password+"</th>");      out.println("</tr>");      while(rs.next()){        out.println("<tr>");        out.println("<td>"+rs.getString(name)+"</td>" );        out.println("<td>"+rs.getString(password)+"</td>" );        out.println("</tr>");      }      out.println("</table>");    }    catch(Exception e){}    return super.doEndTag();  }

}

                          app.tld--------------------------------------------------------------------<?xml version="1.0" encoding="ISO-8859-1" ?><!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.2</jsp-version>  <short-name>Application Tag Library</short-name>  <tag>    <name>display</name>    <tag-class>netregister.DisplayTag</tag-class>    <body-content>empty</body-content>  </tag></taglib>

                                       web.xml---------------------------------------------------------------添加以下内容:  <taglib>    <taglib-uri>/WEB-INF/app.tld</taglib-uri>    <taglib-location>/WEB-INF/app.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/app.tld" prefix="app" %><html><head><title>display</title></head><body bgcolor="#ffffff"><app:display /></body></html> 

这样,在你的每一个jsp中,只要想输出查询结果,就只需要调用  <app:display/>就可以了!以上代码不一定完全正确,但是思想就是这样!而且在大的项目中,非常推崇!它体现了java 代码重用的思想,而且也使结果集的相关操作不直接暴露与用户,也实现了安全!供参考!

时间: 2024-12-15 03:31:06

使用自定义标签,将结果集返回到jsp页面!(推荐方法)的相关文章

jquery A页面load()B页面,怎么返回到A页面

问题描述 jquery A页面load()B页面,怎么返回到A页面 A页面: <div id="0ne">上午天气好</div> <div id="two">你你你你你</div> B页面: <div>我我我我</div> <a>关闭</a> A页面的"two"loadB页面--- 现在A页面变成了: <div id="0ne"

为什么使用ajax局部刷新返回到jsp中的&amp;amp;lt;a&amp;amp;gt;在jsp中使用event.target获取不到

问题描述 为什么使用ajax局部刷新返回到jsp中的<a>在jsp中使用event.target获取不到 为什么使用ajax局部刷新返回到jsp中的在jsp中使用event.target获取不到,应该怎样获取 解决方案 JQuery: $("#first").text("ssss"); //"sss"字符串是你要刷新的数据

用定制标签库和配置文件实现对JSP页面元素的访问控制

js|访问|控制|页面        控制客户端访问是开发一个基于B/S的架构的系统的开发者必须考虑的问题.JSP或SERVLET规范的基于配置文件的安全策略对资源的控制是以文件为单位的,即只可以定义某个视图全部可以或全部不能被访问.一个比较复杂的系统往往要要求对视图的一部分(如JSP页面里的一个按钮)提供访问控制,只允许被某种角色的用户访问.如果采用可编程的安全策略,因为对用户角色和操作的定义在开发时不能定义,而且这种策略加大了程序员的工作量,它可能不是一种好的办法.        我采用定制

jsp标签-SSH整合后,在JSP页面的图片不能显示

问题描述 SSH整合后,在JSP页面的图片不能显示 SSH整合后,在JSP页面的图片不能显示,图片的路径使用绝对的路径,没有错,我将JSP放到一个单独的WEB项目下可以显示出来,放在整合的项目下就显示不出来,大神们这是为什么呀,完全不知道原因呀, 解决方案 静态资源是不是被拦截了? 解决方案二: 楼上说的对,有可能被拦截了. 你可以debug一下或者 抓包看看

JSP的自定义标签教程

标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本. 一.基本概念: 1.标签(Tag): 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本.由于标签是XML元素,所以它的名称和属性都是大小写敏感的 2.标签库(Tag library): 由一系列功能相似.逻辑上互相联系的标签构成的集合称为标签库. 3.标签库描述文件(Tag Library Descriptor

JSP页面中的自定义标签

js|页面 JSP页面中的自定义标签 JSP页面中的自定义标签 Stephanie Bodoff 用于调用Javaean组件中的操作和执行请求分派的标准JSP标签简化了JSP页面的开发和维护.JSP技术还提供了在自定义标签中封装其他动态功能的机制,这种自定标签是JSP语言的扩展.自定义标签通常是以标签库的形式出现的,它定义了一组相关的自定义标签,并包含实现这些标签的对象. 可以由自定义标签执行的任务包括对隐式对象的操作.处理表单.访问数据库和其他企业级服务,如电子邮件和目录.以及执行流程控制.J

JSP的自定义标签

一.基本概念: 1.标签(Tag): 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本.由于标签是XML元素,所以它的名称和属性都是大小写敏感的 2.标签库(Tag library): 由一系列功能相似.逻辑上互相联系的标签构成的集合称为标签库. 3.标签库描述文件(Tag Library Descriptor): 标签库描述文件是一个XML文件,这个文件提供了标签库中类和JSP中对标签引用的映射关系.它是一个配置文件,和web

java-实现freemarker的TemplateDirectiveModel自定义标签问题

问题描述 实现freemarker的TemplateDirectiveModel自定义标签问题 public class TestTemplateDirectiveModel implements TemplateDirectiveModel 重写execute方法,TemplateDirectiveBody body 为空,body.render(evn.getOut());报空异常,这个请问下是什么原因造成的? 解决方案 http://zwllxs.iteye.com/blog/203682

基于JSP 自定义标签使用实例介绍_JSP编程

添加JSP自定义标签: 先添加一个tld文件到WEB-INF文件夹中<?xml version="1.0" encoding="UTF-8" ?><taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://