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)