request.getParameterValues与request.getParameter的差别

时间:2023-12-19 22:46:02

一、 简单的对照

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 对象表示client请求的内容,比方我们从request中取得了用户输入的内容,实现了javax.servlet.http.HttpServletRequest接口

response对象表示响应client的结果。

上面我们使用了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)

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/moreorless/archive/2009/05/18/4199677.aspx