多语言展示
当前在线:1781今日阅读:3今日分享:40

request.getParameterMap()问题

[Ljava.lang.String; cannot be cast to java.lang.Long;一直报错,通过request.getParameterMap();得到的map里面的value为字符串数组
方法/步骤
1

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 = '';

2

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

3

value = value.substring(0, value.length()-1); }else{value = valueObj.toString(); }returnMap.put(name, value); }map = returnMap;}public PageData() {map = new HashMap();}

4

@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;}

5

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();}

6

@SuppressWarnings('unchecked')public void putAll(Map t) {// TODO Auto-generated method stubmap.putAll(t);}public int size() {// TODO Auto-generated method stubreturn map.size();}

7

public Collection values() {// TODO Auto-generated method stubreturn map.values();}}直接将上面的复制即可;解决

推荐信息