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

    技术2025-11-02  23

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

    问题是这样的:

        

        在实体类中,定义了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

    最新回复(0)