BaseController的封装
来源:互联网 发布:淘宝类的app难做么 编辑:程序博客网 时间:2024/06/11 19:43
import java.io.IOException;import java.io.PrintWriter;import java.io.UnsupportedEncodingException;import java.util.Enumeration;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.springframework.web.context.request.RequestContextHolder;import org.springframework.web.context.request.ServletRequestAttributes;import org.springframework.web.servlet.ModelAndView; public class BaseController { /** * 把浏览器参数转化放到Map集合中 * @param request * @return * @throws UnsupportedEncodingException */protected Map<String, Object> getParam(HttpServletRequest request) { Map<String, Object> paramMap = new HashMap<String, Object>(); String method = request.getMethod(); Enumeration<?> keys = request.getParameterNames(); while (keys.hasMoreElements()) { Object key = keys.nextElement(); if(key!=null){ if (key instanceof String) { String value = request.getParameter(key.toString()); if("GET".equals(method)){//前台encodeURIComponent('我们');转码后到后台还是ISO-8859-1,所以还需要转码 try {value =new String(value.getBytes("ISO-8859-1"),"UTF-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();} } paramMap.put(key.toString(), value);} } } return paramMap; }//将数据刷新写回web端protected void flushResponse(HttpServletResponse response, String responseContent) {PrintWriter writer = null;try {response.setCharacterEncoding("GBK");// 针对ajax中页面编码为GBK的情况,一定要加上以下两句response.setHeader("Cache-Control", "no-cache");response.setContentType("text/html;charset=UTF-8");writer = response.getWriter();if (responseContent==null || "".equals(responseContent) || "null".equals(responseContent)) {writer.write("");} else {writer.write(responseContent);}} catch (IOException e) {throw new RuntimeException(e);} finally {if (writer != null) {writer.flush();writer.close();}}}/** * 获取session对象 * @return */protected HttpSession getSession(HttpServletRequest request){ HttpSession session =request.getSession(); return session;} /** * 返回列表分页的下角页码 * @param request * @param response * @return */public ModelAndView getPageNumberInfo(int total,int startIndex,int pageSize ,ModelAndView result) {//Math.ceil整数则为该整数,Math.ceil小数则为靠近大的整数 int current = (int) Math.ceil((startIndex + 1.0) / pageSize);result.addObject("start", startIndex);result.addObject("limit", pageSize);result.addObject("total", total);result.addObject("current", current);if(total > 0) {int page = (int) Math.ceil(total/ pageSize);double totald= total;if(totald/pageSize>total/pageSize){page =page +1;}result.addObject("page", page);int startPage = 0;int endPage = 0;if (page<8) {startPage = 1;endPage = page;} else {if (current<5) { //展示前6页startPage = 1;endPage = 6;//page>6?6:page; } else if (page-current<6) {//展示最后6页,例如:current=10 page=15 10-15startPage = page-5;endPage = page;} else {//current=20 18——22startPage = current - 2;endPage = current + 2;}}result.addObject("startPage", startPage);result.addObject("endPage", endPage);} else {result.addObject("page", 0);}return result;}}
0 0
- BaseController的封装
- baseController中的一些封装
- 【iOS】BaseController的用处
- BaseController的写法
- BaseController
- 分享一个自己写的JFinal的BaseController (1)
- 分享一个自己写的JFinal的BaseController (2)
- 分享一个自己写的JFinal的BaseController (3)
- mvc 基于basecontroller、ActionFilterAttribute及路由的访问登录验证
- SSM 中 BaseController 使用 session
- BaseController处理表单数据绑定问题
- 封装机制封装的概念
- 封装:树形节点的封装
- 使用springmvc利用baseController自动收集请求参数
- mvc继承BaseController实现页面访问权限控制
- There is already 'baseController' bean method spring方法重定义
- 简单的jdbc封装+servlet的封装
- 工具类的封装-sharePreference的封装
- Ceph安装radosgw和Python连接访
- 跨域的几种方法
- linux---which,whereis,locate,find用法
- CentOS EL6/7上Broadcom BCM43142, BCM43224, BCM43225等驱动编译安装方法
- 在地图上添加线
- BaseController的封装
- caffe其他层
- 如何在JSP页面中调用JS函数换body背景(亲测可用)
- Git smart checkout
- dubbo文档
- DotNet源码解读(一)Dictionary
- java类装载
- 剑指offer 17. 合并两个排序的链表
- butterknife的使用