request.getParameterValues 与 request.getParameter 的区别

来源:互联网 发布:mac上大型游戏 编辑:程序博客网 时间:2024/05/16 18:34

转载:http://blog.csdn.net/moreorless/article/details/4199677



一、 简单的对比

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的所有参数的一个映射


 

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)

0 0