package com.base;
//连接数据库import java.sql.Connection;
import java.sql.DriverManager;public class beseDao {
public static Connection getCon(){
Connection conn=null;
try {
Class.forName("com.microsoft.sqlserver.jdbc");
conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databasename=yxuser","sa","zhczqwhy");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}

public void CloseCon(Connection conn){
if(conn!=null)
try {
if(!conn.isClosed())
conn.close();
} catch (Exception e) {
// TODO: handle exception
}
}}
//查询package com.base;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import com.bean.Shopbean;public class ywlx extends beseDao {
public void cxsp() throws SQLException{
List<Shopbean> list=new ArrayList<Shopbean>();
Connection con=getCon();
PreparedStatement ps=null;
ResultSet rs=null;
String sql="select * from shop";
try {
    ps=con.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
Shopbean sa=new Shopbean();
sa.setShopId(rs.getString(1));
sa.setShopName(rs.getString(2));
sa.setShopJg(rs.getString(3));
sa.setShopRq(rs.getString(4));
sa.setShopCj(rs.getString(5));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
rs.close();
ps.close();
con.close();
}

}}
//实体类
package com.bean;public class Shopbean {
private String shopId;
private String shopName;
private String shopCj;
private String shopJg;
private String shopRq;
public String getShopId() {
return shopId;
}
public void setShopId(String shopId) {
this.shopId = shopId;
}
public String getShopName() {
return shopName;
}
public void setShopName(String shopName) {
this.shopName = shopName;
}
public String getShopCj() {
return shopCj;
}
public void setShopCj(String shopCj) {
this.shopCj = shopCj;
}
public String getShopJg() {
return shopJg;
}
public void setShopJg(String shopJg) {
this.shopJg = shopJg;
}
public String getShopRq() {
return shopRq;
}
public void setShopRq(String shopRq) {
this.shopRq = shopRq;
}
}//页面
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
     <base href="<%=basePath%>">
<title>商品信息</title>
  </head>
  <body>
    <center>
      <h1><font color="blue">商品信息</font></h1>
    </center>
       <table width="800" border=1 align="center" cellspacing="0">
         <tr>
          <th>商品编号</th>
          <th>商品名字</th>
          <th>商品价格</th>
          <th>商品日期</th>
          <th>商品厂家</th>
         </tr>
         <c:forEach items="{Shopbean}" var="shop">
       <tr>
         <td>{shop.shopId}</td>
         <td>{shop.shopName}</td>
         <td>{shop.shopJg}</td>
         <td>{shop.shopRq}</td>
         <td>{shop.shopCj}</td>
       </tr>
         </c:forEach>
       </table>
    
  </body>
</html>

解决方案 »

  1.   

      while(rs.next()){
                    Shopbean sa=new Shopbean();
                    sa.setShopId(rs.getString(1));
                    sa.setShopName(rs.getString(2));
                    sa.setShopJg(rs.getString(3));
                    sa.setShopRq(rs.getString(4));
                    sa.setShopCj(rs.getString(5)); 
    --
                    list.add(sa);   
    ---
                }对象set完成后要加到list里面
      

  2.   


     <c:forEach items="{Shopbean}" var="shop">
               <tr>
                 <td>{shop.shopId}</td>
                 <td>{shop.shopName}</td>
                 <td>{shop.shopJg}</td>
                 <td>{shop.shopRq}</td>
                 <td>{shop.shopCj}</td>
               </tr>
             </c:forEach>应该用${} 不是{}
      

  3.   

    第三个错:你用这个在查找${Shopbean},就得把加载完数据的list放入 request.setAttribute("Shopbean",list);不知道你其他代码有没有这个操作
      

  4.   

    现在 把那个$加上了 就报错了
    2012-4-10 11:30:44 org.apache.catalina.startup.HostConfig checkResources
    信息: Reloading context [/vrsqs]
    2012-4-10 11:30:49 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet jsp threw exception
    javax.el.PropertyNotFoundException: Property 'shopId' not found on type java.lang.String
    at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:214)
    at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:191)
    at javax.el.BeanELResolver.property(BeanELResolver.java:300)
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:81)
    at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
    at org.apache.el.parser.AstValue.getValue(AstValue.java:123)
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
    at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:938)
    at org.apache.jsp.index_jsp._jspx_meth_c_005fforEach_005f0(index_jsp.java:126)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:87)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
      

  5.   

    如果没有,
    request.getRequestDispatcher("显示页面.jsp").forward(request, response); 也是必要的
      

  6.   

    添加的servlet 其他的没变 ,我把那个${}符号加上去了 
    package com.servlet;import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.SQLException;
    import java.util.List;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;import com.base.ywlx;
    import com.bean.Shopbean;public class shopxs extends HttpServlet { public shopxs() {
    super();
    } public void destroy() {
    super.destroy(); // Just puts "destroy" string in log
    // Put your code here
    } public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    this.doPost(request, response);
    } public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { response.setContentType("text/html;charset=gbk");
    List<Shopbean> shop;
    try {
    shop = ywlx.cxsp();
    request.setAttribute("shopbean",shop);
    request.getRequestDispatcher("index.jsp").forward(request, response);
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    } public void init() throws ServletException {
    // Put your code here
    }}
    报错2012-4-10 12:05:17 org.apache.catalina.core.ApplicationContext log
    信息: HTMLManager: init: Associated with Deployer 'Catalina:type=Deployer,host=localhost'
    2012-4-10 12:05:17 org.apache.catalina.core.ApplicationContext log
    信息: HTMLManager: init: Global resources are available
    2012-4-10 12:05:17 org.apache.catalina.core.ApplicationContext log
    信息: HTMLManager: list: Listing contexts for virtual host 'localhost'
    2012-4-10 12:05:19 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet jsp threw exception
    javax.el.PropertyNotFoundException: Property 'shopId' not found on type java.lang.String
    at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:214)
    at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:191)
    at javax.el.BeanELResolver.property(BeanELResolver.java:300)
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:81)
    at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
    at org.apache.el.parser.AstValue.getValue(AstValue.java:123)
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
    at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:938)
    at org.apache.jsp.index_jsp._jspx_meth_c_005fforEach_005f0(index_jsp.java:126)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:87)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
      

  7.   

    shop = ywlx.cxsp();
    cxsp()改成static了吗?
      

  8.   

    返回值从void改成 List<Shopbean>
      

  9.   

    //改了的
    package com.base;import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;import com.bean.Shopbean;public class ywlx extends beseDao {
    public static List<Shopbean> cxsp() throws SQLException{
    List<Shopbean> list=new ArrayList<Shopbean>();
    Connection con=getCon();
    PreparedStatement ps=null;
    ResultSet rs=null;
    String sql="select * from shop";
    try {
        ps=con.prepareStatement(sql);
    rs=ps.executeQuery();
    while(rs.next()){
    Shopbean sa=new Shopbean();
    sa.setShopId(rs.getString(1));
    sa.setShopName(rs.getString(2));
    sa.setShopJg(rs.getString(3));
    sa.setShopRq(rs.getString(4));
    sa.setShopCj(rs.getString(5));
    list.add(sa);
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    finally{
    rs.close();
    ps.close();
    con.close();
    }
    return list;

    }
    }