首页 > 代码库 > request获取表单

request获取表单

  今天学习了一个获取提交表单数据的新方法request.getParameterMap。

  在此之前,获取表单数据时总是用request.getParameter(“name”),根据表单中的name值获取value值,需要获取几项就得重复写几次getParameter,而request.getParameterMap方法则不同,不需要参数返回结果为Map<String,String[]>     将提交的form表单中的所有的项以id为key值,以value组成的String数组类型为value。


实例展示:

html页面

<input type="text" id="txt" name="txt"/>
<input type="hidden" id="hid" name="hid" />
<textarea name="textarea" cols="20" rows="5" style="width: 60%"/>

Servlet界面

Map<String,String[]> getMap = request.getParameterMap();
System.out.println(getMap);

getMap的内容为:

{txt=[Ljava.lang.String;@27ce06dc,
hid=[Ljava.lang.String;@7bbbca39, 
textarea=[Ljava.lang.String;@7ea06d70}

 其实,request.getParameterMap()方法也是通过前台表单中的name值进行获取的,获取到后又进行了一次封装。 之所以返回的map中的key为字符串类型的数组,是为了解决表单中有多个name值一样的项。

 记得当初为了简化重复写request.getParameter,还专门自定义了一个函数,用来将获取的表单想转化为一个map对象,当时还觉得通过转换已经相当简单了,可如今就在想当时怎么就不再方法后面加上个map字段呢? 所以,以后再工作中,遇到问题时,首先不是自己去写解决方法,而是去找有没有现成的方法。