码迷,mamicode.com
首页 > 其他好文 > 详细

工作积累(九)——前后台传递类Map型参数

时间:2015-07-03 00:29:31      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:java   ajax   前后台传参   

最近在工作中整合友盟消息推送服务时,遇到了用 Ajax Java 后台传递自定义参数的需求,当时想要采取 java.util.Map ,但发现 Ajax 无法传递 java.util.Map 类型的参数,后来无奈采取的方式的是采用了这样的 Vo 对象:

public ExtraVo {
  private List<String> keys;
  private List<String> values;
  //省略 get | set 方法
}

取值时:

if(extraVo.getKeys() != null) {
  for(int i = 0; i < extraVo.getKeys.size(); i++) {
   broadcast.setExtraField(extraVo.getKeys().get(i), extraVo.getValues().get(i));
  }
}

虽然解决了问题,但是确实呆萌,后来转念一想才发现脑子懵了,为什么不用 List<SomeVo> 这种形式呢?而 org.apache.commons.httpclient.NameValuePair 正是实现 key-value 的一种类(当然这个类很简单,如果不想引入额外 jar 包完全可以自己去实现),改造后的 Vo 对象:

public ExtraVo {
  private List<NameValuePair> customParams;
  //省略 get | set 方法
}

取值时:

if(extraVo.getCustomParams() != null) {
  for(int i = 0; i < extraVo.getCustomParams().size(); i++ ) {
    broadcast.setExtraField(extraVo.getCustomParams().get(i).getName(),extraVo.getCustomParams().get(i).getValue());
  }
}

这样就简单的实现了前后台传递 Map 类型的参数。

完。

本文出自 “细桶假狗屎” 博客,请务必保留此出处http://xitongjiagoushi.blog.51cto.com/9975742/1670299

工作积累(九)——前后台传递类Map型参数

标签:java   ajax   前后台传参   

原文地址:http://xitongjiagoushi.blog.51cto.com/9975742/1670299

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!