JSP中从reqeust里得到的Map把Map的value值从数组变成值的方法,我写的和老师写的不一样,有优劣之分吗

publicstaticMapdescribe(HttpServletRequestrequest){/***reqyest.getParameterMap();*的结果... public static Map describe(HttpServletRequest request)
{
/**
*reqyest.getParameterMap();
*的结果是一个Map集合,该集合封装了客户端提交的所有参数信息,
*遗憾的是,Map中,关键字对应的值,全部都是字符串数组,也就是说,
*即使,某个属性页面上只有一个控件,在经过该方法以后,Map中该属性对应的值,
*也是数组,数组的第一个元素才是我们真正想要的值,所以必须,对该Map进行二次解析
*/
Map<String,Object> reMap=new HashMap();

//获取所有客户端提交参数的Map
Map pars=request.getParameterMap();

//获取Map中所有实体的集合
Set<Map.Entry> entitySet=pars.entrySet();
//遍历集合
for(Map.Entry<String, String[]> entity:entitySet)
{

if(entity.getValue().length==1)
{
reMap.put(entity.getKey(), (entity.getValue())[0]);
}
else
{
reMap.put(entity.getKey(), entity.getValue());
}
}
return reMap;
}
以上是老师写的方法,用了entry数组
public static Map<String,Object> getRequest(HttpServletRequest request ){
Map<String,Object> dto = new HashMap<String,Object>();

Map<String,String[]> map = request.getParameterMap();
for(String str : map.keySet()){
if(map.get(str).length==1){
dto.put(str, ((String[])map.get(str))[0]);
}else
{
dto.put(str, (String[])map.get(str));
}

}
return dto;
以上是我写的方法,为什么老师还有网上的一些方法都要使用entry呢
展开
 我来答
吾心有论
2014-11-18 · 超过14用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:23.7万
展开全部
entity强类型 存值比较方便 一个entity里可以放很多类型不同的值 用String[]你就只能存string类型的数据 存值需要用toString()方法 取值还要各种转换 比较麻烦
百度网友110d863
2014-11-18 · 超过54用户采纳过TA的回答
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:69.2万
展开全部
稍微有点 。 在 遍历的时候,你的复杂些。有写绕远了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式