<table width="384" border="1" align="center">
  <tr>
    <td width="142" rowspan="3">
    <c:forEach items="${allitem}" var="item">
    <a href="quesiton.do?itemid=${item.itemid}">${item.itemname}</a>
<c:forEach items="${item.itemname}" var="sub">
<a href="quesiton.do?itemid=${sub.itemid}&subid=${sub.subid}">${sub.subname}</a>
</c:forEach>
    </c:forEach>
    </td>
    <td width="226" height="60">
    <c:forEach items="${requestScope['allcomm']}" var="comm" >
    <table border="0" width="80%">
    <tr>
    <td>推荐的问题</td>
    <td><a href="quesiton.do?qid=${comm.qid}">${comm.title}</a></td>
    </tr>
    </table>
    </c:forEach>
    </td>
  </tr>
在action中定义如下:
request.setAttribute("allitem",allitem);
request.setAttribute("allcomm",allcomm);
request.setAttribute("status1",status1);
会出现如下错误:
javax.el.PropertyNotFoundException: Property 'itemid' not found on type java.lang.String

解决方案 »

  1.   

    是不是在request.setAttribute("allitem")的时候没加String的强转啊?
      

  2.   

    sub.itemid 这个写错了吧,看看你的vo,是不是应该sub.itemId 属性名的大小写敏感应该是 var值.属性名首字母小写,其他原型。
      

  3.   

    同意lskoko的签名太酷了
    ★★★★★
      

  4.   

    <c:forEach items="${item.itemname}" var="sub"> 
    <a href="quesiton.do?itemid=${sub.itemid}&subid=${sub.subid}">${sub.subname} </a> 
    </c:forEach>你看你${item.itemname}" 这个里的的每一个对角是什么类型啊,从你出的异常看
    你这个item.itemname 得到的每一个对角是String类型
      

  5.   

    <c:forEach items="${}" var="sub"> 
    你这里应该是List 吧
      

  6.   

    应该是 var值.属性名首字母小写,其他原型
      

  7.   

    <c:forEach items="${item.itemname}" var="sub"> 
    请问item.itemname是List吗?即item对象的itemname属性是List吗?
      

  8.   

    其中vo类item.java为:
    private Integer itemid;
    private String itemname;
    private Integer itemcode;
    private Set<Subitem> subitems = new HashSet<Subitem>(0);
    subitem.java为:
    private Integer subid;
    private Item item;
    private String subname;
    private Integer subcode;
    在index.jsp这样写会出现一直循环的现象:
    <td width="142" rowspan="3">
        <c:forEach items="${allitem}" var="item">
        <a href="quesiton.do?itemid=${item.itemid}">${item.itemname}</a>
    <c:forEach items="${item.subitems}" var="sub">
    <a href="quesiton.do?itemid=${item.itemid}&subid=${sub.subid}">${sub.subname}</a>
    </c:forEach>
        </c:forEach>
        </td>
    疑惑中。