System.out.println(getHibernateTemplate().find("from Subject as sub where sub.subjectTitle like  '%subjectTitle%'").size());在jsp中显示出来了模糊查询出来的4条结果,但是怎么.size()打印出来的结果是0
精简代码如下(SSH框架做的):
------SubjectDao.java
//查询模糊记录数
public int findQueryCount(final String subjectTitle){
return this.getHibernateTemplate().find("from Subject as sub where sub.subjectTitle like  '%subjectTitle%'").size();  }
----------SubjectBiz.java
public Result querySubjectByPageAndBysubjectTitle(String subjectTitle,Page page){
//创建分页信息
page = PageUtil.createPage(page, isubjectdao.findQueryCount(subjectTitle));
//通过分页信息获取信息
List<Subject> list = isubjectdao.likeQueryByTitle(subjectTitle, page);
//将page,list封装到Result,返回给调用处
Result result = new Result();
result.setPage(page);
result.setList(list);
return result;
}
-------SubjectAction.java
//分页模糊查询试题
@SuppressWarnings("unchecked")
public String subjectLikeQuery(){
Page newPage = new Page();
newPage.setCurrentPage(currentPage);
newPage.setEveryPage(10);
Result result = isubjectbiz.querySubjectByPageAndBysubjectTitle(subjectTitle, newPage);
page = result.getPage();//获得分页信息
List<Subject> subjects = result.getList();//获得查询出来的subjects
List<Subject> newsubjects = new ArrayList<Subject>();//new一个新的subject集合,将标题标红
for(Subject subject : subjects){
String newTitle = subject.getSubjectTitle().replaceAll(subjectTitle, "<font color='red'>"+subjectTitle+"</font>");
subject.setSubjectTitle(newTitle);
newsubjects.add(subject);
}
HttpServletRequest request = ServletActionContext.getRequest();
request.setAttribute("subjects", newsubjects);
request.setAttribute("page", page);
return SUCCESS;
}
---------Struts.xml
<!-- 分页模糊查询试题 -->
<action name="subjectLikeQuery" class="subjectaction" method="subjectLikeQuery">
<result name="success">/teachar/subjectManager.jsp</result>
</action>
-------------subjectManager.jsp(分页的那部分代码)
<tr>
<td colspan="6" align="center">
共${page.totalCount}条纪录,当前第${page.currentPage}/${page.totalPage}页,每页${page.everyPage}条纪录
<s:if test="#request.page.hasPrePage">
                 <a href="FenYeSubjectAction.action?currentPage=1">首页</a> | 
                 <a href="FenYeSubjectAction.action?currentPage=${page.currentPage - 1}">上一页</a> | 
                </s:if>
                <s:else>
                首页 | 上一页 | 
                </s:else>
                <s:if test="#request.page.hasNextPage">
                 <a href="FenYeSubjectAction.action?currentPage=${page.currentPage + 1}">下一页</a> | 
                 <a href="FenYeSubjectAction.action?currentPage=${page.totalPage}">尾页</a>
                </s:if>
                <s:else>
                下一页 | 尾页
                </s:else>
</tr>
---------结果
查询的结果没有错,但是分页情况如下:
共0条纪录,当前第1/0页,每页10条纪录
明明查出来了4条记录,他却在分页里头显示0条,请高手帮帮忙,谢谢了!!!

解决方案 »

  1.   

    page对象里面给totalCount赋值了没有?
      

  2.   

    <!-- 分页模糊查询试题 -->
    <action name="subjectLikeQuery" class="subjectaction" method="subjectLikeQuery">
    <result name="success">/teachar/subjectManager.jsp</result>
    </action>
    -------------subjectManager.jsp(分页的那部分代码)
    <tr>
    <td colspan="6" align="center">
    共${page.totalCount}条纪录,当前第${page.currentPage}/${page.totalPage}页,每页${page.everyPage}条纪录
    <s:if test="#request.page.hasPrePage">
      <a href="FenYeSubjectAction.action?currentPage=1">首页</a> |  
      <a href="FenYeSubjectAction.action?currentPage=${page.currentPage - 1}">上一页</a> |  
      

  3.   

    (getHibernateTemplate().find("from Subject as sub where sub.subjectTitle like '%subjectTitle%'"))size();//在加一个括号  
    如果解决了 请结贴给分哦