这是一个数据访问方法GoodsDao,javabean就不写了
public List<Goods> selectAllGoods(){
List<Goods> list=new ArrayList<Goods>();

try{
stmt=con.prepareStatement("select * from goods");
ResultSet rs=stmt.executeQuery();
while(rs.next()){
Goods good=new Goods();
good.setGoods_id(rs.getString(1));
good.setGoods_name(rs.getString(2));
good.setGoods_price(rs.getFloat(3));
good.setPicture(rs.getString(4));
list.add(good);
}
}catch(Exception e){}
return list;
}
用主方法可以读出记录
public static void main(String[] args) {
GoodsDao gd=new GoodsDao();
         System.out.print(gd.selectAllGoods().get(4).getGoods_price());
}
但是用jsp就出错或者得不到结果
<%@ page contentType="text/html;charset=GB2312"%><%@ page import="cart.bean.Goods" %>
<%@ page import="cart.dao.GoodsDao" %>
<%@page import="java.util.*;"%>
<jsp:useBean id="good" class="cart.bean.Goods" scope="session" />
<html>
  <head>
  <title>购物首页</title>
  </head>
  
  <body> 
   <%
   GoodsDao gd=new GoodsDao();
   good=gd.selectAllGoods().get(1);
   out.print(good.getGoods_price());
    %>
  </body>
</html>
该如何正确显示,求解决

解决方案 »

  1.   

    你直接打印 gd.selectAllGoods().get(1).getGoods_price();试试
      

  2.   

    或者把你的这句话<jsp:useBean id="good" class="cart.bean.Goods" scope="session" />
    放到<body></body>中去  这是标签啊
      

  3.   

    标签问题
    <jsp:useBean id="good" class="cart.bean.Goods" scope="session" />
      

  4.   


    <%@ page contentType="text/html;charset=GB2312"%>
    <%@ page import="cart.bean.Goods" %>
    <%@ page import="cart.dao.GoodsDao" %>
    <%@page import="java.util.*;"%>
    <html>
    <head>
    <title>购物首页</title>
    </head>
    <body> 
    <%
    GoodsDao gd=new GoodsDao();
    System.out.print(gd.selectAllGoods().get(4).getGoods_price());
    %>
    </body>
    </html>楼主试试看,为什么非要用jsp:useBean呢!
      

  5.   

    不是我非要useBean,关键问题什么方法都试过了,你的方法会这个报错
     An exception occurred processing JSP page
    没有get()方法的都会返回0,或者null
      

  6.   

    lz的main里面的数据库的conn是怎么取得的?
    放到服务器里之后的conn又是怎么得到的呢?有没有差异?good luck
      

  7.   

    package cart.jdbc;
    import java.sql.*;public class DBConnection {
    public Connection con=null;
    public DBConnection(){
    try{
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=bookstore","sa","123");
    }catch(Exception e){
    }
    }
    }这是个连接,然后就是
    public class GoodsDao {
    Connection con;
    PreparedStatement stmt;
    DBConnection dbc;
    public GoodsDao(){
    dbc=new DBConnection();
    con=dbc.con;
    }
      public List<Goods> selectAllGoods(){
    List<Goods> list=new ArrayList<Goods>();

    try{
    stmt=con.prepareStatement("select * from goods");
    ResultSet rs=stmt.executeQuery();
    while(rs.next()){
    Goods good=new Goods();
    good.setGoods_id(rs.getString(1));
    good.setGoods_name(rs.getString(2));
    good.setGoods_price(rs.getFloat(3));
    good.setPicture(rs.getString(4));
    list.add(good);
    }
    }catch(Exception e){}
    return list;
    }
    最后就是jsp了
      

  8.   

    再看看你的sqlserver的jdbc驱动在不在你的servlet容器的classpath中,
    比如tomcat/lib下或者webapps/XXX/WEB-INF/lib下面?good luck