request.getparameterNames()方法详解

request.getParameterNames()方法是将发送请求页面中form表单里所有具有name属性的表单对象获取(包括button).返回一个Enumeration类型的枚举.

通过Enumeration的hasMoreElements()方法遍历.再由nextElement()方法获得枚举的值.此时的值是form表单中所有控件的name属性的值.

最后通过request.getParameter()方法获取表单控件的value值.

Enumeration pNames=request.getParameterNames();
while(pNames.hasMoreElements()){
    String name=(String)pNames.nextElement();
    String value=request.getParameter(name);
    out.print(name + "=" + value);
}

request.getParameterValues("name")方法将获取所有form表单中name属性为"name"的值.该方法返回一个数组.遍历数组就可得到value值.

String values = request.getParameterValues("name");
for(String value : values){
    System.out.println(value);
}

request.getParameterNames()的值是无序排列request.getParameterValues()是按照from表单的控件顺序排列.

追问

谢谢你朋友,哦对了getParameterValues听说是专门获取复选框按钮的对吗?ParameterNames无法获取复选框的按钮属性对吗?

回答

可以这样说。如果你页面中的每个复选框标签的name属性都一样(比如,都为“interest”),那么在Servlet中用request.getParameterValues("interest")则可以获取到form表单中所有复选框的值。
getParameterNames()是获取request中所有参数的名称,对应你提交的form表单中<input/><select/>等设置标签的name属性。
getParameterValues("xxx")则是获取上述标签中name属性为xxx的所有标签的value属性值。
我说的也不一定全对,这样东西你动手做是小实验也就出来的,计算机不会骗你。

你可能感兴趣的:(parameter)