如图,定义了一个获取信息用户查询界面,并想要实现分页功能,但是不知道如何实现,现在已知页面的总数为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可以参考。