jsp页如何正常显示bean从数据库中检索的数据 不知你query() 方法是怎么写的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般是用bean传回rs给页面,页面再处理rs显示出来的吧 是这样写的:---------------package ace;import java.sql.*;public class rst { String user="sys"; String pwd="12345"; String driver="oracle.jdbc.driver.OracleDriver"; String url="jdbc:oracle:thin:@10.10.1.84:1521:oradb"; String query="select * from tbl"; Connection connection=null; public void link() { try{ Class.forName(driver).newInstance(); connection=DriverManager.getConnection(url,user,pwd); } catch(Exception e){ e.printStackTrace(); } } public void sqlr(){ try{ Statement smt=connection.createStatement(); ResultSet result=smt.executeQuery(query); while(result.next()){ String username=result.getString("use"); System.out.println("The name is : "+username); } } catch(Exception e){ e.printStackTrace(); } }} show.query() 是void的。没有返回值,网页没法显示。后台显示的也是你在show.query() 方法里打出来的。在show.query() return一个值就能显示了 返回ResultSet,然后用out对象打印! 应该把 rs 取出来的数据放到一个实体bean里,然后再传给页面显示-------------System.out.println("The name is : "+username);这个只能在控制台打出信息的 把out对象传进去,在query方法里打印。 如果不用void,还可以用其他声明吗?我见过有人用ArryList的,不过我不懂! 这是我写的,不知是否适合你//根据SQL语句输出查询结果 public String DispRsTable(HttpServletResponse res,String sSQL,int CheckIt) throws Exception { PrintWriter out = res.getWriter(); ResultSetMetaData rsmd=null; ResultSet rs; int rsltNum; int cols; int lastRow; String sTemp; String outStr; rsltNum=0; ///执行查询 rs=executeQuery(sSQL); rsmd = rs.getMetaData(); cols=rsmd.getColumnCount(); rs.last(); lastRow=rs.getRow(); rs.first(); out.print("<table align=\"center\" color=\"#FFFFFF\" border=\"1\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#FFFFFF\" cellpadding=\"0\" >"); for (int j=1;j<=cols;j++){ sTemp=rsmd.getColumnLabel(j); if (CheckIt==1) { out.print("<TD width=100 height=28 background=\"images/tabletietlebar.gif\" bordercolor=\"#FFFFFF\" bgcolor=\"#6633FF\" <p class=\"style1\"> </p><div align=\"center\"> <NOBR> <input name=\""+sTemp+"\" type=\"checkbox\" id=\""+sTemp+"\" value=\"checkbox\" checked > "+sTemp+"</div>"); }else out.print("<TD width=100 height=28 background=\"images/tabletietlebar.gif\" bordercolor=\"#FFFFFF\" bgcolor=\"#6633FF\" <p class=\"style1\"> </p><div align=\"center\"> <NOBR> "+sTemp+"</div>"); } int max_row= lastRow; for (int i=1;i<=max_row;i++){ out.print("<TR>"); for (int j=1;j<=cols;j++){ sTemp=rs.getString(j); if (sTemp==null){sTemp=" ";} if (i%2==0){ out.print("<TD align=\"center\" nowrap width=100 height=20 bordercolor=\"#FFFFFF\" bgcolor=\"#e1e8c8\" <p class=\"style2\"> </p> <NOBR> "+sTemp+" </TD>"); }else{ out.print("<TD align=\"center\" nowrap width=100 height=20 bordercolor=\"#FFFFFF\" bgcolor=\"#f1c927\" <p class=\"style2\"> </p> <NOBR> "+sTemp+" </TD>"); } } out.print("</TR>"); rs.next(); } out.print("</Table>"); if (rs!=null) { rs.close(); } return ""; } 不能这样吧,这样打印在cmd下的,你可以该为public Resultset sqlr(){ Statement smt=connection.createStatement(); ResultSet result=smt.executeQuery(query); return result; }然后页面获得result在打印 一般不是这样写,显示部分要在VIEW层! 后台检索数据,每条纪录对应一个bean(需要另外做)把所有bean存放到 ArrayList中返回。jsp对ArrayList循环显示 princeahan2003(princeahan) 能不能帮我修改一下,然后再把jsp页面输出的代码完整写出来供我参考一下。 还有一种方式也可,只是数据量大的时候要考虑分页再返回给JSP显示public String WriteRs_Table(String sSQL,int CheckIt) throws Exception { ResultSetMetaData rsmd=null; ResultSet rs; int rsltNum; int cols; int lastRow; String sTemp; String outStr; rsltNum=0; rs=executeQuery(sSQL); rsmd = rs.getMetaData(); cols=rsmd.getColumnCount(); rs.last(); lastRow=rs.getRow(); rs.first(); outStr=""; outStr=outStr+"<table align=\"center\" color=\"#FFFFFF\" border=\"1\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#FFFFFF\" cellpadding=\"0\" >"; for (int j=1;j<=cols;j++){ sTemp=rsmd.getColumnLabel(j); if (CheckIt==1) { outStr=outStr+"<TD width=100 height=32 bordercolor=\"#FFFFFF\" bgcolor=\"#6633FF\" <p class=\"style1\"> </p><div align=\"center\"> <NOBR> <input name=\""+sTemp+"\" type=\"checkbox\" id=\""+sTemp+"\" value=\"checkbox\" checked > "+sTemp+"</div>"; }else outStr=outStr+"<TD width=100 height=32 bordercolor=\"#FFFFFF\" bgcolor=\"#6633FF\" <p class=\"style1\"> </p><div align=\"center\"> <NOBR> "+sTemp+"</div>"; } int max_row= lastRow; for (int i=1;i<=max_row;i++){ outStr=outStr+"<TR>"; for (int j=1;j<=cols;j++){ sTemp=rs.getString(j); if (sTemp==null){sTemp=" ";} if (i%2==0){ outStr=outStr+"<TD align=\"center\" nowrap width=100 height=20 bordercolor=\"#FFFFFF\" bgcolor=\"#e1e8c8\" <p class=\"style2\"> </p> <NOBR> "+sTemp+" </TD>"; }else{ outStr=outStr+"<TD align=\"center\" nowrap width=100 height=20 bordercolor=\"#FFFFFF\" bgcolor=\"#99CCFF\" <p class=\"style2\"> </p> <NOBR> "+sTemp+" </TD>"; } } outStr=outStr+"</TR>"; rs.next(); } outStr=outStr+"</Table>"; if (rs!=null) { rs.close(); } return outStr; } 这种方法是写jsp页面用的,我是想在bean中就得到结果,由jsp显示! 如果用struts结构在jsp页面中如何将bean的值取出来呢? 关于javascript的一个小问题 ibatis插入数据是有返回值的好,还是没有返回值的好 eclipse中搭建ssh项目一定要用ant打包部署吗? 在线等答案 我想实现这样一个功能,应该怎么实现? 一个很简单的JSP问题 请大家帮帮忙。我初学 请问配置文件??? $CALTALINA_HOME/conf/server.xml 中并没有<Context> 各位老大帮忙看看这个错误提示!(在线) 为什么不能对此进行实例化?? Excel与数据库之间的数据导入、导出,POI和jxl哪个更好一些? javaBean的小问题!
---------------
package ace;
import java.sql.*;
public class rst {
String user="sys";
String pwd="12345";
String driver="oracle.jdbc.driver.OracleDriver";
String url="jdbc:oracle:thin:@10.10.1.84:1521:oradb";
String query="select * from tbl";
Connection connection=null; public void link() {
try{
Class.forName(driver).newInstance();
connection=DriverManager.getConnection(url,user,pwd);
}
catch(Exception e){
e.printStackTrace();
}
}
public void sqlr(){
try{
Statement smt=connection.createStatement();
ResultSet result=smt.executeQuery(query);
while(result.next()){
String username=result.getString("use");
System.out.println("The name is : "+username);
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
后台显示的也是你在show.query() 方法里打出来的。
在show.query() return一个值就能显示了
System.out.println("The name is : "+username);
这个只能在控制台打出信息的
//根据SQL语句输出查询结果
public String DispRsTable(HttpServletResponse res,String sSQL,int CheckIt) throws Exception {
PrintWriter out = res.getWriter();
ResultSetMetaData rsmd=null;
ResultSet rs;
int rsltNum;
int cols;
int lastRow;
String sTemp;
String outStr;
rsltNum=0;
///执行查询
rs=executeQuery(sSQL);
rsmd = rs.getMetaData();
cols=rsmd.getColumnCount();
rs.last();
lastRow=rs.getRow();
rs.first();
out.print("<table align=\"center\" color=\"#FFFFFF\" border=\"1\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#FFFFFF\" cellpadding=\"0\" >");
for (int j=1;j<=cols;j++){
sTemp=rsmd.getColumnLabel(j);
if (CheckIt==1)
{
out.print("<TD width=100 height=28 background=\"images/tabletietlebar.gif\" bordercolor=\"#FFFFFF\" bgcolor=\"#6633FF\" <p class=\"style1\"> </p><div align=\"center\"> <NOBR> <input name=\""+sTemp+"\" type=\"checkbox\" id=\""+sTemp+"\" value=\"checkbox\" checked > "+sTemp+"</div>");
}else
out.print("<TD width=100 height=28 background=\"images/tabletietlebar.gif\" bordercolor=\"#FFFFFF\" bgcolor=\"#6633FF\" <p class=\"style1\"> </p><div align=\"center\"> <NOBR> "+sTemp+"</div>");
}
int max_row= lastRow;
for (int i=1;i<=max_row;i++){
out.print("<TR>");
for (int j=1;j<=cols;j++){
sTemp=rs.getString(j);
if (sTemp==null){sTemp=" ";}
if (i%2==0){
out.print("<TD align=\"center\" nowrap width=100 height=20 bordercolor=\"#FFFFFF\" bgcolor=\"#e1e8c8\" <p class=\"style2\"> </p> <NOBR> "+sTemp+" </TD>");
}else{
out.print("<TD align=\"center\" nowrap width=100 height=20 bordercolor=\"#FFFFFF\" bgcolor=\"#f1c927\" <p class=\"style2\"> </p> <NOBR> "+sTemp+" </TD>");
}
}
out.print("</TR>");
rs.next();
}
out.print("</Table>");
if (rs!=null)
{
rs.close();
}
return "";
}
public Resultset sqlr(){
Statement smt=connection.createStatement();
ResultSet result=smt.executeQuery(query);
return result;
}然后页面获得result在打印
把所有bean存放到 ArrayList中返回。
jsp对ArrayList循环显示
public String WriteRs_Table(String sSQL,int CheckIt) throws Exception {
ResultSetMetaData rsmd=null;
ResultSet rs;
int rsltNum;
int cols;
int lastRow;
String sTemp;
String outStr;
rsltNum=0;
rs=executeQuery(sSQL);
rsmd = rs.getMetaData();
cols=rsmd.getColumnCount();
rs.last();
lastRow=rs.getRow();
rs.first();
outStr="";
outStr=outStr+"<table align=\"center\" color=\"#FFFFFF\" border=\"1\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#FFFFFF\" cellpadding=\"0\" >";
for (int j=1;j<=cols;j++){
sTemp=rsmd.getColumnLabel(j);
if (CheckIt==1)
{
outStr=outStr+"<TD width=100 height=32 bordercolor=\"#FFFFFF\" bgcolor=\"#6633FF\" <p class=\"style1\"> </p><div align=\"center\"> <NOBR> <input name=\""+sTemp+"\" type=\"checkbox\" id=\""+sTemp+"\" value=\"checkbox\" checked > "+sTemp+"</div>";
}else
outStr=outStr+"<TD width=100 height=32 bordercolor=\"#FFFFFF\" bgcolor=\"#6633FF\" <p class=\"style1\"> </p><div align=\"center\"> <NOBR> "+sTemp+"</div>";
}
int max_row= lastRow;
for (int i=1;i<=max_row;i++){
outStr=outStr+"<TR>";
for (int j=1;j<=cols;j++){
sTemp=rs.getString(j);
if (sTemp==null){sTemp=" ";}
if (i%2==0){
outStr=outStr+"<TD align=\"center\" nowrap width=100 height=20 bordercolor=\"#FFFFFF\" bgcolor=\"#e1e8c8\" <p class=\"style2\"> </p> <NOBR> "+sTemp+" </TD>";
}else{
outStr=outStr+"<TD align=\"center\" nowrap width=100 height=20 bordercolor=\"#FFFFFF\" bgcolor=\"#99CCFF\" <p class=\"style2\"> </p> <NOBR> "+sTemp+" </TD>";
}
}
outStr=outStr+"</TR>";
rs.next();
}
outStr=outStr+"</Table>";
if (rs!=null)
{
rs.close();
}
return outStr;
}