request.getParameterValues与request.getParameter的区别

一、 简单的对比

request.getParameter用的比较多,相对熟悉

request.getParameterValues(String  
name)是获得如checkbox类(名字相同,但值有多个)的数据。   接收数组变量
,如checkobx类型     
request.getParameter(String  
name)是获得相应名的数据,如果有重复的名,则返回第一个的值 . 接收一般变量 ,如text类型

例:

1. 三个名字相同的text标签

<input type="text" name="test" value="1"
/> 
<input type="text" name="test" value="2"
/> 
<input type="text" name="test" value="3" />

request.getParameterValues("test")   ----------------- [1, 2,
3]

request.getParameter("test")            
------------------ 1

${paramValues.test}

${param.test}

2. checkbox

<input type="checkbox" name="habit"
value="read">看书

<input type="checkbox" name="habit"
value="movie">电影

<input type="checkbox" name="habit"
value="game">游戏

request.getParameterValues("habit")

二、与此相关的话题------隐含对象

1. JSP隐含对象(Implicit Object)

所谓隐含对象,是指当编写jsp网页时,不必做任何声明就可以直接使用的对象。
JSP2.0定义了九个隐含对象

request response pageContext session application out conifg page
exception

这里只提一下request 和 response 两个对象

request
对象表示客户端请求的内容,比如我们从request中取得了用户输入的内容,实现了javax.servlet.http.HttpServletRequest接口

response对象表示响应客户端的结果。

上面我们使用了request的两个方法getParameter 和
getParameterValues,其实request还有其他几个比较重要的方法,这里只涉及几个获取请求参数的方法

String getParameter(String
name)                    
取得name的参数值

String[] getParameterValues(String
name)        取得所有name的参数值

Enumeration
getParameterNames()                 
取得所有的参数名称

Map<String, String[]>
getParameterMap()       
取得request的所有参数的一个映射

//

Returns a java.util.Map of the parameters of this request. Request
parameters are extra information sent with the request. For HTTP servlets,
parameters are contained in the query string or posted form
data. 
Returns: 
an immutable java.util.Map containing parameter
names as keys and parameter values as map values. The keys in the parameter map
are of type String. The values in the parameter map are of type String
array. 
//

response等其他几个隐含对象也有非常重要的身份,有机会专门整理一下,宣扬一下它们的显赫地位。

2. EL隐含对象

EL即Experssion
Language,自JSP2.0后正式成为JSP的标准规范之一,支持Servlet2.4/JSP2.0的Container也就相应的支持EL语法。

一个常见的形式如,<c:out value="${ 3 + 7 * 4}" />

EL的隐藏对象有11个 PageContext PageScope RequestScope sessionScope
applicationScope

param paramValues header headerValues cookie initParam

其中param 和 paramValues即对相应ServletRequest.getParameter(String
name)和ServletRequest.getParameterValues(String name)

(转):http://blog.csdn.net/moreorless/archive/2009/05/18/4199677.aspx

request.getParameterValues与request.getParameter的区别,布布扣,bubuko.com

时间: 2024-10-20 16:34:29

request.getParameterValues与request.getParameter的区别的相关文章

request.getParameterValues与request.getParameter的差别

一. 简单的对照 request.getParameter用的比較多,相对熟悉 request.getParameterValues(String   name)是获得如checkbox类(名字同样,但值有多个)的数据.   接收数组变量 ,如checkobx类型     request.getParameter(String   name)是获得对应名的数据,假设有反复的名,则返回第一个的值 . 接收一般变量 ,如text类型 例: 1. 三个名字同样的text标签 <input type=&qu

request.getAttribute()和request.getParameter()两个方法的区别

request.getAttribute()获得的数据必须曾经有过setAttibute()过: 而request.getParameter()获得是客户端POST或者GET请求时所携带的参数的值 getParameter 是用来接受用post个get方法传递过来的参数的.getAttribute 必须先setAttribute. (1)request.getParameter() 取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和

ajax传参数组之request.getParameterValues

web项目中,一般与后台进行交互,都使用ajax进行数据的提交 在数据提交的过程中,一般为提交数据对象.但是在通常过程中,会使用到传入一系列的数据.如批量删除. 我们可以通过传入数组来实现 有以下几种方式:    1.直接传入一个对象数组 var param = [];            param.push({"name":"ids", "value":id});                        $.ajax({      

getParameterValues和getParameter的区别

request.getParameterValues(String name) 是获得如checkbox类(名字相同,但值有多个)的数据. 接收数组变量,如checkobx类型 request.getParameter(String name) 是获得相应名的数据,如果有重复的名,则返回第一个的值. 接收一般变量,如text类型 例: <input type="text" name="test" value="1" /> <in

asp.net Request、Request.Form、Request.QueryString的区别(转)

Request.Form:获取以POST方式提交的数据. Request.QueryString:获取地址栏参数(以GET方式提交的数据). Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString.Form.ServerVariable中都搜寻一遍. 有时候会得到不同的结果.如果仅仅需要Form中的数据,但是使用了Request而不是Request.Form,那么程序将在QueryString.ServerVariable中也搜寻一遍.如果其中有同名的项,

【转】于request.getSession(true/false/null)的区别

http://blog.csdn.net/gaolinwu/article/details/7285783 关于request.getSession(true/false/null)的区别 一.需求原因 现实中我们经常会遇到以下3中用法: HttpSession session = request.getSession(); HttpSession session = request.getSession(true); HttpSession session = request.getSessi

request和request.form和request.querystring的区别

Request.Form是获取以POST方式提交的表单数据: Request.QueryString主要是获取地址栏参数或者以Get方式提交的数据 而Request则包含以上两种方式,会在Request.QueryString和Request.Form中都查询一遍变量.但是优先获取GET方式提交的数据,即Request.QueryString Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString.Form.ServerVariable中都搜寻一遍. 而且

request.getParameter() 、 request.getInputStream()和request.getReader() 使用体会

request.getParameter(). request.getInputStream().request.getReader()这三种方法是有冲突的,因为流只能被读一次.比如:当form表单内容采用 enctype=application/x-www-form-urlencoded编码时,先通过调用request.getParameter() 方法得到参数后,再调用request.getInputStream()或request.getReader()已经得不到流中的内容,因为在调用 r

asp.net中Request.QueryString与Request.Param的区别分析

看起来Request.Params更好一些,但是既然Param包括了所有,为什么还要有QueryString呢?? request.params其实是一个集合,它依次包括request.querystring.request.form.request.cookies和request.servervariables. 如果要在两个页面传递数据的话,只能用request.querystring.request.form.request.cookies Request.Params 是在 QueryS