JSP基础语法之六:request对象,1用getParameterNames取得checkbox全部值,2解决getParameter中文乱码

来源:互联网 发布:怎么在淘宝买二手表 编辑:程序博客网 时间:2024/05/16 16:58



一: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>//用于定位根目录下的文件









原创粉丝点击