JSP内置对象——request内置对象(2)

    一,取得请求参数的内容

    request内置对象中的getParameterNames(),此方法返回所有请求参数的名称,但是此方法返回的类型是Enumeration,接口实例所以需要使用hasMoreElements()方法判断是否有内容以及使用 next.Element()方法取出内容。

<body>
	<form action="request_demo03.jsp" method="post">
		姓名:<input type="text" name="uname"><br>
		性别:<input type="radio" name="sex" value="男" CHECKED>男
			<input type="radio" name="sex" value="女">女<br>
		城市:<select name="city">
			<option value="北京">北京</option>
			<option value="上海">上海</option>
			<option value="广州">广州</option>
			</select><br>
		兴趣:<input type="checkbox" name="**inst" value="唱歌">唱歌	<!--凡是以**开头的都按照数组的形式接收,即使用getParameterValues()方法  -->
			<input type="checkbox" name="**inst" value="看书">看书
			<input type="checkbox" name="**inst" value="coding" >coding<br>
		自我介绍:<textarea cols="30" rows="3" name="note"></textarea><br>
		<input type="hidden" name="uid" value="1">
		<input type="reset" value="重置">
		<input type="submit" value="提交">
	</form>
  </body>

    首先使用getParameterName()方法接收全部的请求参数,然后采用循环方式来取得全部参数名称。因为没有指定泛型,所以每次nextElement()方法返回的结果都是Object,需要向下转型操作,然后根据参数名称的标记来决定是选择getParameterValues()方法接收还是使用getParameter()方法接收。

<table border="1">
			<tr>
				<td>参数名称</td>
				<td>参数内容</td>
			<td>
	<%
		Enumeration enu = request.getParameterNames() ;		//接收全部请求参数的名称
		while(enu.hasMoreElements())						//判断是否有参数名称
		{
			String paramName=(String) enu.nextElement() ;	//依次取出每一个参数名称
	%>
			<tr>

				<td><%=paramName %></td>					<!-- 得到参数名称 -->
			<td>
	<%
		if(paramName.startsWith("**"))										//判断取出的参数名称是否以"**"开头
		{
			String paramValue[] =  request.getParameterValues(paramName) ;	//如果以"**"开头,则使用getParameterValues()取得内容
			for(int x=0;x<paramValue.length;x++)
			{
	%>
		<%=paramValue[x] %>
	<%
			}
		}else{																//不是以"**"开头
			String paramValue =request.getParameter(paramName) ;			//使用getParameter()取得内容
	%>
		<%=paramValue %>
	<% 
		}
	%>
			</td>
			</tr>
	<%
		}
	%>
			
		</table>

    二,显示全部的头信息

<body>
	<%
		Enumeration enu = request.getHeaderNames()	;	//取得全部头信息的名称
		while(enu.hasMoreElements())
		{
			String headerName = (String) enu.nextElement() ;		//依次取出头信息名称
			String headerValue = request.getHeader(headerName) ;	//取出每一个头信息的内容
	%>
		<h2><%=headerName %>----><%=headerValue %></h2>
	<%
		}
	%>
  </body>

    取得头信息的名称,可以直接使用request内置对象的getHeaderNames()方法,而要想取得每一个头信息的内容,则需要使用getHeader()方法

    

你可能感兴趣的:(JSP内置对象——request内置对象(2))