JSP中接收所有参数的方法
在JSP中,如果提交的参数太多,一个个的接收太麻烦。
可以使用request.ParameterName()方法接收所有的参数来解决这个问题。
方法:public Enumeration getParameterNames()
Enumeration:枚举类型
实例:
04.html:提交参数页面
程序代码
<html>
<head>
<title>04.html</title>
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<form action="04.jsp" method="post">
姓名:<input type="text" name="uname" />
<p>
擅长技术:
<!-- 约定:数组参数的参数名前面加上"**" -->
<input type="checkbox" name="**tech" value="J2EE" />J2EE
<input type="checkbox" name="**tech" value=".NET" />.NET
<input type="checkbox" name="**tech" value="ASP" />ASP
<input type="checkbox" name="**tech" value="PHP" />PHP
<p>
<input type="submit" value="提交" />
</form>
</body>
</html>
04.jsp:接收参数页面
程序代码
<%@page contentType="text/html;charset=GB2312" %>
<%@page import="java.util.*" %>
<html>
<head>
<title>04.jsp</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
request.setCharacterEncoding("GB2312");
Enumeration enu=request.getParameterNames();
while(enu.hasMoreElements())
{
String name=(String)enu.nextElement();
if(name.startsWith("**"))
{
//如果是数组参数,则逐个打印
%>
<h1><%=name %>:
<%
String canshu[]=request.getParameterValues(name);
int i;
for(i=0;i<canshu.length;i++)
{
%>
<%=canshu[i] %>
<%
}
%>
</h1>
<%
}
else
{
//如果不是数组参数,直接打印
%>
<h1><%=name %>:<%=request.getParameter(name) %></h1>
<%
}
}
%>
</body>
</html>