Java万能接收页面数据,并自动匹配封装为map对象
来源:互联网 发布:淘宝客鹊桥活动玩法 编辑:程序博客网 时间:2024/06/06 17:12
package com.mwk.util;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;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();System.out.println("....."+properties);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(); }try {value = URLDecoder.decode(value, "utf-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}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();}}
结合springmvc可以不用建实体类,在传参与接参中可以自动匹配参数并封装
在mybatis中这样配置即可,怎样的好处慢慢发掘
<typeAliases><typeAlias type="com.mwk.util.PageData" alias="pd"/></typeAliases>
阅读全文
0 0
- Java万能接收页面数据,并自动匹配封装为map对象
- js封装为map对象
- 从数据库从取数据后自动封装为对象
- springMvc直接接收json数据自动转化为Map<String,String>
- 解决Gson解析数据用map接收时int自动转化为double问题
- 如何封装页面数据对象
- Java中基于HttpServlet的反射机制(封装从view层页面接收到的数据于实体对象中)
- JAVA解析JSON数据转化为Map对象
- .net mvc3.0 中接收 json 数据,并转换为自定义的 C# 对象
- SpringMVC接收Json数据并绑定对象
- Struts2 action接收json格式字符串并转化为Map
- Mybatis 万能的map来接收值
- 传入Java对象 自动创建动态表 并录入数据
- 传入Java对象 自动创建动态表 并录入数据
- 传入Java对象 自动创建动态表 并录入数据
- jsp页面的ajax和form表单提交后接收数据的区别(SpringMVC控制器返回Map对象)
- Java 对象转化为Map
- java对象转化为Map
- 大数据梯度下降(斯坦福machine learning week 10)
- wpa_cli常用操作
- 在Linux环境下快速搭建一个javaweb项目网站(阿里云ubuntu)
- 一种不用额外空间反转整数的方法
- 42. Trapping Rain Water(H)
- Java万能接收页面数据,并自动匹配封装为map对象
- 安装centos7.3操作系统
- 接入科大讯飞语音听写,增加语音动画,类似京东语音搜索功能
- ImageNet下载资源(2017年)
- NumPy v1.13
- 二叉树遍历
- 系统的硬件
- 转载:Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
- 初次在 GitHub 建立仓库以及公开代码的流程