<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@page import="java.util.ArrayList"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>  
<%@ page import="java.util.List" %>
<%@ page import="jstl.javabean.*" %>
  <html>
  <head>
  <title>商品列表</title>
  </head>
  <body>
<%
Good good = new Good();
List<Good>  list = good.getAll();
request.setAttribute("pro",list); 
 %>
 <div  align="center">
<form action="">
<table>
<tr><th>商品名称</th>
<th>产地</th>
<th>价格</th>
</tr>
<tr>
<td> <%= list.get(0).Name %> 
这个一句话就不会报错 我试了的
</td>
</tr>
<c:forEach items="pro" var="pro">为什么我循环的时候就报错啊 
<td>
${pro.Name }
</td>
</c:forEach></table>
</form></div>  </body>
  </html>

解决方案 »

  1.   

    <c:forEach items=${pro} var="pro">
      

  2.   

    <c:forEach items="<%=pro%>" var="pro">
      

  3.   


    <c:forEach items="<%=list%>" var="pro">直接给成这个
      

  4.   

    不行 报
    javax.el.PropertyNotFoundException:属性'名称'上找不到类型jstl.javabean.Good这个错 我明明<%= list.get(0).Name %>   这个就可以为什么还报错 
      

  5.   

    pro是一个对象吗?如果是一个对象的话把foreach去掉试下吧!
      

  6.   

     不行啊
    javax.el.PropertyNotFoundException:属性'名称'上找不到类型jstl.javabean.Good报这个错 我就不明白了 明明有会找不到?<%= list.get(0).Name %>  那我这个为什么可以显示
      

  7.   

    clean一下工程,再起tomcat,重新发布一下看看。
      

  8.   

    不行额 我改成这样 <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <%@page import="java.util.List"%>
    <%@ page import="jstl.javabean.*" %>
    <%@page import="java.util.ArrayList"%>
      <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
      <html>
      <head>
      <title>CH7 - Core_forEach.jsp</title>
      </head>
      <body>
    <% 
    List<Good> list  =  new ArrayList<Good>();
    Good good = new Good("a","a","a");
    list.add(good);
    request.setAttribute("item",list);%>  
     
      <c:forEach items="${item}" var="it" >
    <br/>
      ${it.Name}<br/>
      </c:forEach>  </body>
      </html>
    也不行 真心无语了
      

  9.   


    Good重新import进来,<%@ page import="jstl.javabean.*" %> 换成具体得Good
    。另外,request.setAttribute("item",list);这句不要。
      <c:forEach items="<%=list%>" var="it" >
      

  10.   

    <c: items="pro" var="pro">
    <td>
    ${pro.Name }
    </td>
    </c:>试下吧!
      

  11.   

    Eclipse顶部菜单,project ---clean
      

  12.   

    Eclipse顶部菜单  project --- clean
      

  13.   

     嗯 知道了 但是还说找不到javax.el.PropertyNotFoundException:属性'名称'上找不到类型jstl.javabean.Good 
      

  14.   


    你的<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %> 为什么这么奇怪?c标签确定引入进来了?Good确定引入进来了
      

  15.   

    一直是报这个javax.el.PropertyNotFoundException:么?
      

  16.   

    引入c标签得正确方式: <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>改一下试试。
      

  17.   

     是的 我估计就是那个good类没进入 但是就想不通 <%= list.get(0).Name %>  这个怎么成功的
      

  18.   

    <c:forEach items="pro" var="pro">为什么我循环的时候就报错啊 
    <td>
    ${pro.Name }
    </td>
    </c:forEach>为什么也没有放到tr中?
      

  19.   

    我重新试试 看看good有没用引入 
    谢谢你为我解答这么多 这么耐心
      

  20.   

    好了 十分 谢谢啊   我忙活了3个小时就这个小问题
    自学就是麻烦我是beanjean那个包估计属性值要小写 现在已经成功了 结贴了 
      

  21.   


    <%
    Good good = new Good();
    List<Good> list = good.getAll();
    %>
    <div align="center">
    <form action="">
    <table>
    <tr><th>商品名称</th><th>产地</th><th>价格</th></tr>
    <c:forEach items="<%=list%>" var="oneGood">
    <tr>
    <td>${oneGood.productName }</td>
    <td>${oneGood.place }</td>
    <td>${oneGood.price }</td>
    </tr>
    </c:forEach>
    </table></form>
    </div>
    这样写就是ok的。
    你的${pro.Name }  name还是大写,命名不规范。