自己写的 Struts+Hibernate 的 公交系统的小例子   可是  不知道 为什么  这里的值老是求不出来.... 而且不提示任何错误,表不为空。在mysql中利用查询可正确得到结果  主要代码如下   
        //DAO中的代码
        Query query=session.createQuery("select f from Fromto f where f.id.start like ? AND f.id.end like ? ");
System.out.println(start+"  "+end);
start = "%'"+start+"'%";
query.setString(0, start);
end = "%"+end+"%";
query.setString(1, end);
List bi = (List)query.list();
        
        //jsp页面中的代码
        for(Iterator iter = list.iterator();iter.hasNext();){
        Fromto ft = (Fromto)iter.next();%>
        System.out.println(ft.getId().getLinename())
                

解决方案 »

  1.   

    把你的sql文单独拿出来运行下,看有问题吗?
      

  2.   

    嗯  运行了啊  能得到想要的  结果就是放在项目中就不行了,而且我在做一个相同的Action的时候能去时  那个jsp页面能显示出来  可是这个就是显示不出来  
    关键是  他不报错....  
      

  3.   

    不用写 select f 吧。f.id.start和f.id.end 不知道是什么。没有用过。如果要分批取数据的话Query提供了方法query.setFirstResult(从第N条开始读取);

    query.setMaxResults(读取的条数);
      

  4.   

    嗯   f.id.start  是  因为我用的视图   hibernate反转映射出来是  例如(table fromto)  他生成两个  Fromto.java  和  FromtoId.java  嗯   select f   不写也是对的   但是   就是 得不到结果  我的JSP  页面是个空白.....      
      

  5.   

    System.out.println(ft.getId().getLinename())  jsp页面没用吧,是显示不出东西的
      

  6.   

    jsp 也面中显示数据的标签有没写错,或者说结束标签的位置不对;我以前也出现过这种情况。例如:错误的:<c:forEach items="${requestScope['guestbook.display.list']}" var="article">
         </c:forEach>         
              <c:out value="${article.name}" />
         正确的:<c:forEach items="${requestScope['guestbook.display.list']}" var="article">
                     <c:out value="${article.name}" />     </c:forEach>
      

  7.   

    这个我试过了    特别郁闷的就是这  我有另外一组数据  这样可以去到  可是  linename  就取不到了....
      

  8.   

      Query query=session.createQuery("select f from Fromto f where f.id.start like ? AND f.id.end like ? "); 这种方法可能取到的list 集合里包括的就不是那个bean(Fromto)了 所以 页面取属性就错了