分页功能实现:循环显示页码

如图,定义了一个获取信息用户查询界面,并想要实现分页功能,但是不知道如何实现,现在已知页面的总数为total Page,可以从后台取得,从控制台打印出来为3,但是不知道如何把他在前端页面循环显示,也就是把totalPage中的3在前端显示,以1,2,3的形势,而且要使用循环。

package cim.util;

public class PageManager {
    
    int pageNow;
    int pageSize=5;
    int totalPage;
    int totalSize;

    public PageManager(int pageNow, int pageSize, int totalSize) {
        super();
        this.pageNow = pageNow;
        this.pageSize = pageSize;
        this.totalSize = totalSize;
    }
    public PageManager() {
        super();
    }
    public int getPageNow() {
        return pageNow;
    }
    public void setPageNow(int pageNow) {
        this.pageNow = pageNow;
    }
    public int getPageSize() {
        return pageSize;
    }
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
    public int getTotalPage() {
        totalPage=totalSize/pageSize;
        if(totalSize % pageSize ==0){
            return totalPage;
        }else{
            return totalPage+1;
        }
        
    }
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }
    public int getTotalSize() {
        return totalSize;
    }
    public void setTotalSize(int totalSize) {
        this.totalSize = totalSize;
    }
    

    
}


package com.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import cim.util.PageManager;

import com.bean.User;
import com.service.UserService;

@Controller
public class UserController {
    @Resource(name="userService")
    UserService userService;
    @RequestMapping(value="/login",method=RequestMethod.POST)
    public String login(User user,HttpSession session,Model model){
         User user1=userService.login(user);
         if(user1==null){
             model.addAttribute("msg","用户登录人事管理系统失败");
             return "fall";
         }else{
             session.setAttribute("user",user1);
             return "index";
         }
    }
    @RequestMapping("/selectUser")
    public String selectUser(User user,Model model,Integer pageNow,PageManager pageManager){
        if(pageNow==null)pageNow=1;
        int totalSize=userService.selectUserCount(user);
        PageManager pm = new PageManager(pageNow,5,totalSize);
        Map map=new HashMap();
        map.put("user", user);
        map.put("pm", pm);
        List userList=userService.selectUser(map);
        model.addAttribute("userList",userList);
        model.addAttribute("pageManager",pageManager);
        model.addAttribute("user",user);
        return "user/user_search";
    }
    @RequestMapping("/addUserView")
    public String addUserView(){
        return "user/user_add";
    }
    @RequestMapping("/addUser")
    public String addUser(User user,Model model){
        int i=userService.addUser(user);
        if(i==1){
            return "redirect:selectUser";
        }else{
            model.addAttribute("msg", "添加系统管理员用户失败");
            return "fall";
        }
    }
    
    @RequestMapping("/deleteUser")
    public String deleteUser(int id,Model model){
        int i=userService.deleteUserById(id);
        if(i==1){
            return "redirect:selectUser";
        }else{
            model.addAttribute("msg", "删除系统管理员用户失败");
            return "fall";
        }
    }
    
    @RequestMapping("/deleteUsers")
    public String deleteUsers(int[] ids){
        userService.deleteUsers(ids);
        return "redirect:selectUser";
        
    }
    
    @RequestMapping("/updateUserView")
    public String updateUserView(int id,Model model){
        User user=userService.selectUserById(id);
        model.addAttribute("user",user);
        return "user/user_update";
    }
    
    @RequestMapping("/updateUser")
    public String updateUser(User user,Model model){
        int i=userService.updateUser(user);
        if(i==1){
            return "redirect:selectUser";
        }else{
            model.addAttribute("msg", "修改系统管理员用户失败");
            return "fall";
        }
    }
}


package com.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;

import com.bean.User;
import com.dao.dy.UserDaoDy;
@Repository("userDao")
public interface UserDao {
    
    @Select("select * from user_inf where loginname=#{loginname} and password=#{password}")
    public User login(User user);
    
    @SelectProvider(type=UserDaoDy.class,method="selectUser")
    public List<User> selectUser(MapObject> map);
    
    @SelectProvider(type=UserDaoDy.class,method="selectUserCount")
    public int selectUserCount(User user);
    
    @Insert("insert into user_inf(loginname,password,status,createdate,username) values(#{loginname},#{password},#{status},#{createdate},#{username})")
    public int insertUser(User user);
    
    @Delete("delete from user_inf where id=#{id}")
    public int deleteUserById(int id);
    
    @Select("select * from user_inf where id=#{id}")
    public User selectUserById(int id);
    
    @Update("update user_inf set loginname=#{loginname},password=#{password},status=#{status},username=#{username} where id=#{id}")
    public int updateUser(User user);
}


package com.dao.dy;

import java.util.Map;

import org.apache.ibatis.jdbc.SQL;

import cim.util.PageManager;

import com.bean.User;

public class UserDaoDy {
    
    public String selectUser(final Map map){
        String sql= new SQL(){{
            SELECT("*");
            FROM("user_inf");
            if (map.get("user")!=null){
                User user=(User)map.get("user");
            if(user.getUsername()!=null){
                WHERE("username like concat('%',#{user.username},'%') ");
            }
            if(user.getStatus()!=null){
                WHERE("status=#{user.status}");
            }
            
            }
        }}.toString();
        PageManager pm=(PageManager)map.get("pm");
        int pageNow=pm.getPageNow();
        int pageSize=pm.getPageSize();
        sql=sql+" limit "+(pageNow-1)*pageSize+","+pageSize;
        return sql;
        
    }
    public String selectUserCount(final User user){
        return new SQL(){{
            SELECT("count(*)");
            FROM("user_inf");
            if(user.getUsername()!=null){
                WHERE("username like concat('%',#{username},'%') ");
            }
            if(user.getStatus()!=null){
                WHERE("status=#{status}");
            }
        }}.toString();
    }
}



Dao层`

java
package com.service;

import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.bean.User;
import com.dao.UserDao;
@Service("userService")
public class UserService {
    @Resource(name="userDao")
    UserDao userDao;
    public User login(User user){
        return userDao.login(user);
    }
    
    public List selectUser(Map map){
        return userDao.selectUser(map);
    }
    
    public int addUser(User user){
        return userDao.insertUser(user);
        
    }
    
    public int deleteUserById(int id){
        return userDao.deleteUserById(id);
    }
    
    public void deleteUsers(int[] ids){
        for(int i=0;ipublic User selectUserById(int id){
        return userDao.selectUserById(id);
    }
    
    public int updateUser(User user){
        return userDao.updateUser(user);
    }
    
    public int selectUserCount(User user){
        return userDao.selectUserCount(user);
    }
}

user_select显示页面


<%@ page language="java" import="java.util.*,cim.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <script type="text/javascript">
  function  aa(){
      var flag=confirm("确认删除该用户吗?");
      return flag;
   
  }
  function selectAll(){
      var flag=document.getElementById("all").checked;
      var objs=document.getElementsByName("ids");
      for(var i=0;ilength;i++){
          objs[i].checked=flag;
      }
  }

 script>
 head>
  
  <body>
    <table width="99%" border="0" cellpadding="0" cellspacing="0">
        <tr><td height="10">td>tr>
        <tr style="background:url(images/main_locbg.gif) repeat-x; height:30px;">
            <td height="32">   <img src="images/pointer.gif"/>   当前位置:用户管理  > 用户查询td>
        tr>
    table>

    <table width="80%" border="0" cellpadding="0" cellspacing="0">
        <tr>
            <td height="30">td>
        tr>
        <tr height="30">
        <td>
        <form action="selectUser" method="post">
            用户名:<input type="text" name="username" value="${requestScope.user.username}"/>
            用户状态:
            <select name="status">
                <option value="">请选择当前状态option>
                <option value="1" <c:if test="${requestScope.user.status==1}">selectedc:if>>未审核option>
                <option value="2" <c:if test="${requestScope.user.status==2}">selectedc:if>>已审核option>
            select>
            <input type="submit" value="搜索" />
            
        form>
        td>
        tr>
table>
    <form action="deleteUsers" method="post" >
    <table width="80%" border="0" cellpadding="0" cellspacing="0">
    <tr height="30" align="left">
     <td><input type="submit" value="多项删除" onclick="javascript:return confirm('确认删除该用户吗?')""/>td>
    tr>
     table>
    <table width="80%" border="2" cellpadding="0" cellspacing="0">
    <tr align="center" height="30">
     <td><input type="checkbox" id="all" onclick="selectAll()"/>td>
        <td>登录名td>
        <td>密码td>
        <td>用户名td>
        <td>状态td>
        <td>创建时间td>
        <td>操作td>
    tr>
    <c:forEach items="${requestScope.userList}" var="user">
        <tr align="center" height="30">
        <td><input type="checkbox" name="ids" value="${user.id}"/>td>
        <td>${user.loginname}td>
        <td>${user.password}td>
        <td>${user.username}td>
        <td>
            <c:if test="${user.status==1}">未审核c:if>
            <c:if test="${user.status==2}">已审核c:if>
        td>
        <td><fmt:formatDate value="${user.createdate}" pattern="yyyy年MM月dd日  hh时mm分钟"/>td>
        <td>
            <a href="updateUserView?id=${user.id}">修改a>
            <a href="deleteUser?id=${user.id}" onclick="javascript:return aa()">删除a>
        td>
        
    c:forEach>
table>
form>

    <table width="80%" border="0" cellpadding="0" cellspacing="0">
        <tr align="center" height="30">
        <td><a href="selectUser?pageNow=1">首页a>td>
        <td><a href="selectUser?pageNow=1">上一页a>td>
        <td>下一页td>
        <td>尾页td>
        tr>
        <tr align="center" height="35">
        <td><a href="selectUser?pageNow=1">1a>td>//就是此处不知道如何变成循环显示页码,老师说是可以使用循环,但是没有i想到怎么用。
    tr>
    table>
  body>
html>


建议找个框架吧,原生js实现的layui,有直接的table可以参考。