在web應用中,如果直接將結果集 ResultSet rs,保存在session ,或者 reueest范圍內,
可以將其傳遞到jsp(SUN企業級應用的首選),並顯示,
但是要考慮到,如果同時查詢的用戶非常多,服務器的壓力就非常大!
所以我本人建議用以下方法!
我覺得應該自己寫一個標簽。比如為 display.java
然後將起定義為標簽,
對於你每次要顯示的內容,其實你只要傳遞關鍵字,比如:sql 語句。就可以了!
然後在你的頁面中利用自定義的標簽:比如為: <app:display> 就可以實現了!
以下是本人寫的一個很簡單的標簽,在struts中!
displayTag.java
-----------------------------------------------------------------
import javax.servlet.jsp(SUN企業級應用的首選).tagext.TagSupport;
import java.io.IOException;
import javax.servlet.jsp(SUN企業級應用的首選).PageContext;
import javax.servlet.jsp(SUN企業級應用的首選).jsp(SUN企業級應用的首選)Writer;
import javax.servlet.jsp(SUN企業級應用的首選).jsp(SUN企業級應用的首選)Exception;
import javax.servlet.http.HttpSession;
import java.sql.*;
public final class DisplayTag extends TagSupport {
public int doEndTag()throws jsp(SUN企業級應用的首選)Exception{
UserDao userdao=new UserDao();
jsp(SUN企業級應用的首選)Writer 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(SUN企業級應用的首選) Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsp(SUN企業級應用的首選)taglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp(SUN企業級應用的首選)-version>1.2</jsp(SUN企業級應用的首選)-version>