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呢 展开
{
/**
*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呢 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询