bootstrap java 分页_【Bootstrap】Bootstrap和Java分页-第二篇

packagegetui.util;importjava.io.IOException;importjavax.servlet.jsp.JspException;importjavax.servlet.jsp.JspWriter;importjavax.servlet.jsp.tagext.TagSupport;/***

* 分页控件

*

*@authorAnny*/

public class Pager extendsTagSupport {private Integer curPage; //当前页码

private Integer totalPage; //总页数

private Integer pageSize = 10; //一页显示的记录数

private Integer totalCount = 0; //记录总数

private String formId; //请求的action name

private Integer lastIndex; //结束索引

public int doStartTag() throwsJspException {

StringBuffer buffer=newStringBuffer();

JspWriter out=pageContext.getOut();int pageNumber = 0;if (totalPage % pageSize == 0) {

pageNumber= totalPage /pageSize;

}else{

pageNumber= (totalPage / pageSize) + 1;

}if (curPage < 1) {

curPage= 1;

}try{if (pageNumber > 0) {

buffer.append("

buffer.append("function go(pageNum)");

buffer.append("{");//{start

buffer.append("var f = document.getElementById('" + formId + "');");

buffer.append("f.action = f.action + '?pageNum=' + pageNum + '&pageSize="+pageSize + "';");

buffer.append("f.submit();");

buffer.append("}");//}end

buffer.append("");//script-end

out.print(buffer.toString());

out.append("

");//page-number-strip

out.print("

  • ");//添加Bootstrap分页的样式pagination

int start = 1;int end =totalPage;for (int i = 4; i >= 1; i--) {if ((curPage - i) >= 1) {

start= curPage -i;break;

}

}for (int i = 4; i >= 1; i--) {if ((curPage + i) <=totalPage) {

end= curPage +i;break;

}

}//如果小于9则右侧补齐

if (end - start + 1 <= 9) {

Integer padLen= 9 - (end - start + 1);for (int i = padLen; i >= 1; i--) {if ((end + i) <=totalPage) {

end= end +i;break;

}

}

}//如果还小于9左侧补齐

if (end - start + 1 <= 9) {

Integer padLen= 9 - (end - start + 1);for (int i = padLen; i >= 1; i--) {if ((start - i) >= 1) {

start= start -i;break;

}

}

}if (curPage > 1) {if (start > 1) {

out.print("

首页");

}

out.print("

上一页");

}for (int i = start; i <= end; i++) {if (i ==curPage) {

out.print("

" + i + "");

}else{

out.print("

" + i + "");

}

}if (curPage

out.print("

下一页");if (end

out.print("

尾页");

}

}

out.print("

共" + totalPage + "页" + this.totalCount + "条");

out.print("

");

out.print("

");

}

}catch(IOException e) {

e.printStackTrace();

}return super.doStartTag();

}/*** 算开始索引

*

*@parampageNum -

*@parampageSize

*@return

*/

public staticInteger getStartIndex(Integer pageNum, Integer pageSize) {

Integer res= 0;if (pageNum > 0) {

res= (pageNum - 1) *pageSize;

}returnres;

}/*** 算结束索引 -- 方法暂时未用

*

*@parampageSize

*@paramtotalCount

*@paramtotalPage

*@parampageNum

*@return

*/

public staticInteger getLastIndex(Integer pageSize,Integer totalCount,Integer totalPage,Integer pageNum){//计算结束时候的索引

Integer lastIndex =0;if( totalCount

lastIndex=totalCount;

}else if((totalCount % pageSize == 0) || (totalCount % pageSize != 0 && pageNum

lastIndex= pageNum *pageSize;

}else if(totalCount % pageSize != 0 && pageNum == totalPage){//最后一页

lastIndex =totalCount ;

}returnlastIndex;

}publicInteger getLastIndex() {returnlastIndex;

}public voidsetLastIndex(Integer lastIndex) {this.lastIndex =lastIndex;

}public voidsetCurPage(Integer curPage) {this.curPage =curPage;

}public voidsetPageSize(Integer pageSize) {this.pageSize =pageSize;

}public voidsetTotalPage(Integer totalPage) {this.totalPage =totalPage;

}public voidsetFormId(String formId) {this.formId =formId;

}publicInteger getTotalCount() {returntotalCount;

}public voidsetTotalCount(Integer totalCount) {this.totalCount =totalCount;

}

}

package com.org.controller; import java.io.PrintWriter; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.json.JSONException; import org.json.JSONObject; 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 org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import com.org.BaseController; import com.org.model.User; import com.org.service.IUserService; /** * @Author:liangjilong * @Date:2014-2-25 * @Version:1.0 * @Description: */ @Controller public class UserController extends BaseController { @Resource private IUserService userService; /*** * 方法一请求使用String * * 请求@RequestMapping匹配的URL request * * @param response * @return * @throws Exception */ @RequestMapping(value = "/userList1.do") public String userList1(HttpServletRequest request, HttpServletResponse response) throws Exception { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); List<User> lists = userService.getUserList(); if (lists != null) { request.setAttribute("userList", lists); } // userList指跳转到userList.jsp页面 return "userList"; } /** * 方法二请求使用ModelAndView * * @param request * @param response * @return * @throws Exception */ @RequestMapping(value = "/userList2.do") public ModelAndView userList2(HttpServletRequest request, HttpServletResponse response) throws Exception { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); List<User> lists = userService.getUserList(); if (lists != null) { request.setAttribute("userList", lists); } // userList指跳转到userList.jsp页面 return new ModelAndView("userList"); } /*** * 自定义标签实现分页 * * @param request * @param response * @param @ResponseBody ajax响应 * @param method={RequestMethod.POST,RequestMethod.GET}表单请求 * @param consumes="application/json; charset=UTF-8"请求格式是json * @return * @throws UnsupportedEncodingException * @throws Exception */ @RequestMapping(value = "/pageList.do" ,method={RequestMethod.POST,RequestMethod.GET}) public @ResponseBody ModelAndView getUserInfo(Model model, @RequestParam(required = false) String username, @RequestParam(required = false) Integer pageNum, @RequestParam(required = false) Integer pageSize) { try { String userName = new String(username.getBytes("ISO-8859-1"),"UTF-8");//处理乱码 Map<String, Object> map = new HashMap<String, Object>(); username=(username==null)?"":username; map.put("username", username);//username必须要和ibatis配置的property=username一致 Integer totalCount = this.userService.getUserCount(map); this.initPage(map, pageNum, pageSize, totalCount); List list = this.userService.getUserLists(map); this.initResult(model, list, map); return new ModelAndView("pagerList"); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 添加用户 * @param type * @param model * @return */ @RequestMapping("/addUser.do") public ModelAndView addUser(@RequestParam String username, Model model) { User user = new User(); user.setUsername(username); this.userService.addUser(user); return this.getUserInfo(model, null, null, null); } /*** * 删除用户 * @param id * @param pageNum * @param pageSize * @param model * @return */ @RequestMapping(value="/delUser.do",method={RequestMethod.POST,RequestMethod.GET},consumes="application/json; charset=UTF-8") @ResponseBody public ModelAndView delUser(@RequestParam(required = true) Integer id, @RequestParam(required = false) Integer pageNum, @RequestParam(required = false) Integer pageSize, Model model, HttpServletRequest request,HttpServletResponse response) { PrintWriter out=null; JSONObject result=new JSONObject(); try { out=response.getWriter(); this.userService.delUserById(id); result.put("flag", true); out.write(result.toString()); } catch (Exception e) { try { result.put("flag", false); out.write(result.toString()); } catch (JSONException e1) { e1.printStackTrace(); } } return null; //return this.getUserInfo(model, null, pageNum, pageSize); } /*** * 编辑用户 * @param id * @param model * @return */ @RequestMapping("/getUserById.do") public ModelAndView getUserById(@RequestParam(required = true) Integer id, Model model) { User u = this.userService.getUserById(id); model.addAttribute("user", u); return new ModelAndView("editUser"); } /*** * 编辑用户 * @param id * @param model * @return */ @RequestMapping("/editUser.do") public ModelAndView editUser(@RequestParam(required = true) Integer id, @RequestParam String username, @RequestParam(required = false) Integer pageNum, @RequestParam(required = false) Integer pageSize, Model model) { User u = new User(); u.setUsername(username); this.userService.editUser(u); return this.getUserInfo(model, null, pageNum, pageNum); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值