PageData.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package com.sooka.common.utils;
  2. import java.util.Collection;
  3. import java.util.HashMap;
  4. import java.util.Iterator;
  5. import java.util.Map;
  6. import java.util.Set;
  7. import javax.servlet.http.HttpServletRequest;
  8. public class PageData extends HashMap implements Map{
  9. private static final long serialVersionUID = 1L;
  10. Map map = null;
  11. HttpServletRequest request;
  12. public PageData(HttpServletRequest request){
  13. this.request = request;
  14. Map properties = request.getParameterMap();
  15. Map returnMap = new HashMap();
  16. Iterator entries = properties.entrySet().iterator();
  17. Entry entry;
  18. String name = "";
  19. String value = "";
  20. while (entries.hasNext()) {
  21. entry = (Entry) entries.next();
  22. name = (String) entry.getKey();
  23. Object valueObj = entry.getValue();
  24. if(null == valueObj){
  25. value = "";
  26. }else if(valueObj instanceof String[]){
  27. String[] values = (String[])valueObj;
  28. for(int i=0;i<values.length;i++){
  29. value = values[i] + ",";
  30. }
  31. value = value.substring(0, value.length()-1);
  32. }else{
  33. value = valueObj.toString();
  34. }
  35. returnMap.put(name, value);
  36. }
  37. map = returnMap;
  38. }
  39. public PageData() {
  40. map = new HashMap();
  41. }
  42. @Override
  43. public Object get(Object key) {
  44. Object obj = null;
  45. if(map.get(key) instanceof Object[]) {
  46. Object[] arr = (Object[])map.get(key);
  47. obj = request == null ? arr:(request.getParameter((String)key) == null ? arr:arr[0]);
  48. } else {
  49. obj = map.get(key);
  50. }
  51. return obj;
  52. }
  53. public String getString(Object key) {
  54. return (String)get(key);
  55. }
  56. @SuppressWarnings("unchecked")
  57. @Override
  58. public Object put(Object key, Object value) {
  59. return map.put(key, value);
  60. }
  61. @Override
  62. public Object remove(Object key) {
  63. return map.remove(key);
  64. }
  65. @Override
  66. public void clear() {
  67. map.clear();
  68. }
  69. @Override
  70. public boolean containsKey(Object key) {
  71. // TODO Auto-generated method stub
  72. return map.containsKey(key);
  73. }
  74. @Override
  75. public boolean containsValue(Object value) {
  76. // TODO Auto-generated method stub
  77. return map.containsValue(value);
  78. }
  79. @Override
  80. public Set entrySet() {
  81. // TODO Auto-generated method stub
  82. return map.entrySet();
  83. }
  84. @Override
  85. public boolean isEmpty() {
  86. // TODO Auto-generated method stub
  87. return map.isEmpty();
  88. }
  89. @Override
  90. public Set keySet() {
  91. // TODO Auto-generated method stub
  92. return map.keySet();
  93. }
  94. @Override
  95. @SuppressWarnings("unchecked")
  96. public void putAll(Map t) {
  97. // TODO Auto-generated method stub
  98. map.putAll(t);
  99. }
  100. @Override
  101. public int size() {
  102. // TODO Auto-generated method stub
  103. return map.size();
  104. }
  105. @Override
  106. public Collection values() {
  107. // TODO Auto-generated method stub
  108. return map.values();
  109. }
  110. }