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属性值。
我说的也不一定全对,这样东西你动手做是小实验也就出来的,计算机不会骗你。