java 参数传递实体类_java接收参数和返回数据实体类封装1

本文介绍了Java中如何使用PageData类进行参数传递和数据封装,该类继承自HashMap并实现了Map接口。PageData构造函数分别处理HttpServletRequest请求参数和JSONObject数据,将参数转化为Map存储,并提供了便利的方法如getString和getDouble来获取特定类型的参数值。
摘要由CSDN通过智能技术生成

public class PageData extends HashMap implementsMap {private static final long serialVersionUID = 1L;

Map map= null;

HttpServletRequest request;publicPageData(HttpServletRequest request) {this.request =request;

Map properties=request.getParameterMap();

Map returnMap= newHashMap();

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 instanceofString[]) {

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

}if (name.equals("timeEnd")) {if (!value.equals("")) {

value= value + " 23:59:59";

}else{

}

}

returnMap.put(name, value);

}

map=returnMap;

}publicPageData(JSONObject jo) {

Map returnMap= newHashMap();for (Iterator keys =jo.keys(); keys.hasNext();) {try{

String key1=keys.next();//System.out.println("key1---" + key1 + "------" + jo.get(key1) + (jo.get(key1) instanceof JSONObject)//+ jo.get(key1) + (jo.get(key1) instanceof JSONArray));//System.out.println("key1:" + key1 + "----------jo.get(key1):" + jo.get(key1));

returnMap.put(key1.toUpperCase(), jo.get(key1));

}catch(JSONException e) {

e.printStackTrace();

}

}

map=returnMap;

}publicPageData() {

map= newHashMap();

}

@OverridepublicObject get(Object key) {

Object obj= null;if (map.get(key) instanceofObject[]) {

Object[] arr=(Object[]) map.get(key);

obj= request == null ? arr : (request.getParameter((String) key) == null ? arr : arr[0]);

}else{

obj=map.get(key);

}returnobj;

}publicString getString(Object key) {if (null != get(key) && "null" !=get(key)) {returnString.valueOf(get(key));

}return "";

}public doublegetDouble(Object key) {

Object value=get(key);if (null != value && !"null".equals(value) && !"".equals(value)) {if (value instanceofString) {returnDouble.parseDouble(value.toString());

}else if (value instanceofDouble) {return (double) value;

}//return (double) get(key);

}return 0.0;

}public intgetInt(Object key) {

Object value=get(key);if (null != value && !"null".equals(value) && !"".equals(value)) {if (value instanceofString) {returnInteger.parseInt(value.toString());

}else if (value instanceofInteger) {return (int) value;

}

}return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值