velocity,springmvc,springjdbc数据显示分页

来源:互联网 发布:linux下socket多线程 编辑:程序博客网 时间:2024/05/11 00:57

第一次使用velocity模板,springjdbc的jdbcTemplate.queryForList获取的list是List<Map<String, Object>>类型,而不是常用的List<Object>类型,简单的写了一下数据显示以及分页。

 

velocity分页简单代码: 

 #foreach($ele in $pageBean)            <tr #if($foreach.index%2==0) class="even" #else class="odd" #end>                    #foreach($param in ${ele.keySet()})                    <td>                    #if(${ele.get($param)})                        ${ele.get($param)}                    #end                </td>                    #end               </tr>         #end </table>     共$!allRow条记录#if($allpage>1)    共$!allpage页    #set($prepage=$page - 1)    #set($nextpage=$page + 1)     <a href="$contextPath/data/list.do?cunId=$lastcun.cunId&page=1"><span>第一页</span></a>    #if($page <= 1 )           <span>上一页</span>    #else        <a href="$contextPath/data/list.do?cunId=$lastcun.cunId&page=$prepage"><span> 上一页 </span></a>    #end    第$!page页    #if($page >= $allpage )          <span>下一页</span>    #else        <a href="$contextPath/data/list.do?cunId=$lastcun.cunId&page=$nextpage"><span>下一页</span></a>    #end    <a href="$contextPath/data/list.do?cunId=$lastcun.cunId&page=$allpage"><span>最后一页</span></a>#end


 

 

springmvc部分代码:

int pageSize= 10;    String page = request.getParameter("page");  int pageInt = 1;  if (page != null) {  pageInt = Integer.parseInt(page);  if(pageInt <1)  pageInt = 1 ;  }  // 获取数据  List pageBean = dataService.getRowsOfCun(cunId ,pageInt ,pageSize);  int allRow = dataService.getRowCountOfCun(cunId);  int allpage = (allRow % pageSize == 0) ? (allRow / pageSize) : (allRow  / pageSize + 1);  mv.addObject("pageBean", pageBean);  mv.addObject("page", pageInt);  mv.addObject("allRow", allRow);  mv.addObject("allpage", allpage);


springjdbc部分代码

 

public List getRowsOfCun(final String cunId) {  List<Map<String, Object>> rows = jt    .queryForList(      "select name  from data where cunId=?",      new Object[] {cunId});  return rows; }public List getRowsOfCun(String cunId, int pageInt, int pageSize) {    if(getRowsOfCun(cunId).size()==0)  {  return null;   }  List<Map<String, Object>> rows = jt    .queryForList(      //mysql版本     /**       "select name from data where cunId=? limit ?,?;",      new Object[] {cunId,(pageInt * pageSize - pageSize),pageSize});     */      //ms sql版本      "select  TOP (?) name from data where  (id NOT IN (SELECT TOP (?) id from data where cunId = ? ORDER BY id) ) and cunId = ?  ORDER BY ID",                new Object[] {pageSize,(pageInt * pageSize - pageSize),cunId,cunId});        return rows; }