通过map自动获取url参数值
来源:互联网 发布:java培训多少 编辑:程序博客网 时间:2024/06/06 03:48
从页面传递参数到后台,不管是form表单提交还是ajax请求或者是url问号传参,都可以通过构建实体类自动获取到参数的名称和它所对应的数值,只需要一个实体类和一个方法
PageData的实体类
import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;import javax.servlet.http.HttpServletRequest;public class PageData extends HashMap implements Map{private static final long serialVersionUID = 1L;Map map = null;HttpServletRequest request;public PageData(HttpServletRequest request){this.request = request;Map properties = request.getParameterMap();Map returnMap = new HashMap(); Iterator entries = properties.entrySet().iterator(); Map.Entry entry; String name = ""; String value = ""; while (entries.hasNext()) {entry = (Map.Entry) entries.next(); name = (String) entry.getKey(); Object valueObj = entry.getValue(); if(null == valueObj){ value = ""; }else if(valueObj instanceof String[]){ String[] values = (String[])valueObj;for(int i=0;i<values.length;i++){ value = values[i] + ",";}value = value.substring(0, value.length()-1); }else{value = valueObj.toString(); }returnMap.put(name, value); }map = returnMap;}public PageData() {map = new HashMap();}@Overridepublic Object get(Object key) {Object obj = null;if(map.get(key) instanceof Object[]) {Object[] arr = (Object[])map.get(key);obj = request == null ? arr:(request.getParameter((String)key) == null ? arr:arr[0]);} else {obj = map.get(key);}return obj;}public String getString(Object key) {return (String)get(key);}@SuppressWarnings("unchecked")@Overridepublic Object put(Object key, Object value) {return map.put(key, value);}@Overridepublic Object remove(Object key) {return map.remove(key);}public void clear() {map.clear();}public boolean containsKey(Object key) {// TODO Auto-generated method stubreturn map.containsKey(key);}public boolean containsValue(Object value) {// TODO Auto-generated method stubreturn map.containsValue(value);}public Set entrySet() {// TODO Auto-generated method stubreturn map.entrySet();}public boolean isEmpty() {// TODO Auto-generated method stubreturn map.isEmpty();}public Set keySet() {// TODO Auto-generated method stubreturn map.keySet();}@SuppressWarnings("unchecked")public void putAll(Map t) {// TODO Auto-generated method stubmap.putAll(t);}public int size() {// TODO Auto-generated method stubreturn map.size();}public Collection values() {// TODO Auto-generated method stubreturn map.values();}}
BaseController中的方法
/** * BaseController */public class BaseController {private final static String SUCCESS = "1";//成功private final static String ERROR = "0";//异常/** * 返回正确结果 * @param msg 文本内容 * @param data 返回数据对象 * @return */public ReturnMap success(String msg, Object data){return new ReturnMap().state(SUCCESS).msg(msg).data(data);}/** * 返回正确结果 * @param state * @param msg * @return */public ReturnMap success(String msg){return success(msg, null);}/** * 返回错误结果 * @param state * @param msg * @return */public ReturnMap fail(String msg){return new ReturnMap().state(ERROR).msg(msg);}/** * 得到PageData */public PageData getPageData(){return new PageData(this.getRequest());}/** * 得到ModelAndView */public ModelAndView getModelAndView(){return new ModelAndView();}/** * 得到request对象 */public HttpServletRequest getRequest() {HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();return request;}/** * 得到32位的uuid * @return */public String get32UUID(){return UuidUtil.get32UUID();}}
在controller中继承这个基础的类,调用其中的方法即可
这样在PageData的对象中,自动获取到了所有的参数名称和它对应的数值
阅读全文
0 0
- 通过map自动获取url参数值
- jsp获取参数值通过url传值
- 通过js获取URL参数
- 获取URL参数值
- 获取url参数值
- 通过javascript在URL中获取参数
- jsp通过url传递和获取参数
- 通过javascript获取URL中的参数
- 通过浏览器的URL获取参数
- 通过js 获取url中的参数
- 用js通过参数名获取url中的参数
- 通过url传递参数时,如何获取全部参数
- JS通过Url传递中文参数,c#获取参数
- 通过Map拼凑url
- js获取url参数值
- js获取url参数值
- js获取url参数值
- js获取url参数值
- 《毕业3年要赚100万》读书笔记
- java输出[100,200]之间的素数
- 518抽奖软件源码之:删除文件夹及下面的所有文件
- 小农经济为什么长期存在
- 高性能mysql第三版读书笔记
- 通过map自动获取url参数值
- 学习记录
- 串口通信-------CMSComm控件的使用与介绍
- 30了,程序员中的老司机们,30后的路该开向哪里?
- C++风格_函数
- Guava学习——集合工具
- websocke笔记
- Android android:launchMode=“singleInstance”启动模式设置单例 页面跳转黑屏
- Xgboost推导及分析