晕,真不想说啥了!---关于前台显示集合中对象的问题!---

来源:互联网 发布:景甜父亲景勇资料知乎 编辑:程序博客网 时间:2024/06/10 15:52

真是郁闷,这个问题纠结了我快一天了......

问题是这样的:

    

    在实体类中,定义了N个字段,字段名如:Book_Id,Book_Name......之类的,

    从数据库中查出数据,放入对象,放入集合,都没有问题

    ................

    开始前台显示............

    用JSTL循环servlet传过来的集合,EL标签调用对象属性时..问题出现了..........

    错误如下:

 

        严重: Servlet.service() for servlet jsp threw exception
        javax.el.PropertyNotFoundException

        : Property 'Id' not found on type com.tianhao.lovebook.dto.BooksDTO

    报找不到ID!!!!

唉,真是够郁闷的,好在问题解决了,也不知道是什么具体原因,只是可以显示了

 

解决方法如下:

    

    将实体类中的属性字段,改为首字母小写,格式如:id,name,iSBN................

    EL标签中改为    ${名称["id等字段名"]}

到此.....算是问题解决................

 ---------------------------------------------------------------------------------------------------------------------------------

真的很郁闷............

我还以为上次做完项目,因为时间长没敲代码的原因,而写错了,,我真的差点推翻以前学的东西!!!!!

呵呵..解决了就好......

 --------------------------------------------------------------------------------------------------------------------------------- 

 

PS:

    真的发现 脑子不好使了呢 写一个备忘吧

    备忘内容:    

        显示五行数据,每行显示三个

        *    *    *

        *    *    *

        *    *    *

        *    *    *

        *    *    *

       注:*号为显示数据的位置

代码如下:

    //定义行数,5行,每次循环,加一

    <c:forEach var="i" begin="0" end="4" step="1">
           <tr>

    //负责显示三个数据,起始值是行数乘以每行要显示的个数,结束值是,起始值加上每行显示的个数-1

    //最后总结为

    //起始值=行数*每行显示

    //结束值=行数*每行显示+每行显示-1
            <c:forEach var="j" begin="${i*3}" end="${i*3+2}" step="1">

    //获取集合中的对象

    //booklist为从servlet接收的集合,就是显示的内容

    //从中取出要显示的对象,取出方法,根据集合类型而定,本次备忘,我用的是LIst,所以用下标的方式取出
             <c:set var="temp" value="${booklist[j]}"></c:set>

    //判断是否为空(可以没有这一步的,就是当时调错的时候,添上去的)
             <c:if test="${temp!=null}">

    //显示的内容
              <td>
               <table cellspacing=0 cellpadding=0 width=180 background=images/bg.jpg border=0>
                <tbody>
                 <tr>
                  <td valign=bottom height=30>
                   &nbsp;&nbsp;
                   <a href="displayBook.jsp?id=${temp['id'] }">&nbsp;&nbsp;&nbsp;&nbsp;

      //到EL标签部分了,要用消息啊!!!!
                    ${temp['name'] }</a>
                  </td>
                 </tr>
                 <tr align=middle>
                  <td height=120>
                   <a href="displayBook.jsp?id=${a }">
                    <img height=110 src="b" width=90 border=0 />
                   </a>
                  </td>
//好了,表格TD结束
                 </tr>//表格TR结束
                </tbody>
               </table>//表格结束
               <br />
              </td> 

    //显示内容结束
             </c:if>        
            </c:forEach>
           </tr>
          </c:forEach>

  ---------------------------------------------------------------------------------------------------------------------------------

 好了结束

2010年8月21日 11:28:44

By:Frank