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



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









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值