request.getParameterValues與request.getParameter的區別

來源:互聯網
上載者:User

一、
簡單的對比

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)



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.