一:requset.getParameterNames()取得checkbox全部值
前台表单的复选框checkbox命名时统一以"_CB"结尾
后台通过String的结尾字符自动判断:是checkbox时用request.getParameterValues()
否则用request.getParameter()方法
<br><br><br>
<%
Enumeration enm = request.getParameterNames();
while(enm.hasMoreElements())
{
String eget = (String)enm.nextElement();
%>
Enumeration获得表单元素名称:<%=eget%>
<%
if(eget.endsWith("_CB"))/*checkbox命名时必须以"_CB"结尾*/
{
/*getParameterValues之前应该验证,否则不选CheckBox时会出NullPointerException*/
/*if(null != eget) 这验证过结尾字符了,所以不用再次验证*/
String[] eget_CB = request.getParameterValues(eget);
%> :以“_CB”结尾的checkBox的值: <%
for(int i=0;i<eget_CB.length;i++)
{
%>
<%=eget_CB[i]%>
<%
}
%> <br> <%
}
else
{
try
{
%>
普通参数值:<%=request.getParameter(eget)%> <br>
<%
}catch(Exception e){}
}
}
%>
二:两种解决reques接收中文时乱码的方法
方法二选其一,书上推荐前者
<%
//指定接收编码,只能在接收端指定
request.setCharacterEncoding("GBK");
//或使用下列方法重新创建一个字节型Srting。两种方法二选一
//String context = new String(request.getParameter("info").getBytes("ISO8859-1"));
%>
三:获取其他信息
<%
String method = request.getMethod();
String ip = request.getRemoteAddr();
String path = request.getServletPath();
String contextPath = request.getContextPath();
%>
<h2> 请求方式:<%=method%> </h2> //直接访问是GET,跳转过来时POST
<h2> IP地址:<%=ip%> </h2>
<h2> 访问路径:<%=path%> </h2>
<h2> 上下文路径:<%=contextPath%> </h2> //用于定位根目录下的文件