getParameter 與 getAttribute的區別
request.getAttribute():是request時設定的變數的值,用request.setAttribute("name","您自己的值");來設定值,
request.getParameter():提取傳送過來的引數如:本網頁http://community.csdn.net/Expert/topic/4633/4633804.xml?temp=.3488123
request.getParameter("temp")==".3488123"
request.getParameter
是用來接受來自get方法或post方法的引數
<form method=post>
<form method=get>
<a href="1.jsp?id=1">ok</a>
只能接受java.lang.String
也就是說String hotel_id = request.getParameter("hotel_id");
request.getAttribute
是用來接受來自servlet的變數或Action(其實Action就是特殊的Servlet)
在Action中,request.setAttribute("ret",ret);
只能接受java.lang.Object
也就是說List ret = (List)request.getAttribute("ret");
如果你只用JSP,根本用不到request.getAttribute()
request.getAttribute()和request.getParameter()的區別是request.getAttribute()獲得的是物件型別,
而request.getParameter()獲得的是字串型別
一般的網頁應用,如同 chenshaizi(陳紹彬) 所說,基本上是基於Post方式的傳遞,用getParameter
取值。對於自己控制的,可以通過request.setAttribute和getAttribute 實現值得傳遞。
對於應用Structs框架的,getAttribute用的多一點,其他的基本上用getParameter
我的理解:
session.getAttribute();獲得session
request.getParameter();獲得parameter
1.getParameter可以獲得客戶端傳送給伺服器端的引數值。
getAttribute可以得到由setAttribute設定的引數值,就相當於是使用getAttribute得到一個自己定義
的引數,而不是從客戶端得到的引數。
2.getParameter只能傳遞string型別的變數,getAttribute能傳遞vector。
getParameter(),獲取表單的值 getAttribute()獲得session的值
getParameterNames() 獲得表單或則url中的引數的陣列
getattributeNames():返回request物件所有屬性的名字,結果集是一個Enumeration(列舉)類的例項
根據樓上,是不是 getParameter()得到的值如果下次不提交或儲存起來的話,下次重定向後就沒啦?
:理解對了
getAttribute()所要得到的屬性值因為存在session中,所以重定向後仍可以取出?
getAttribute()在request和session中都有,只是作用域不同,在取之前肯定是要在某個地方存一下,這種
東東可以存取物件
串".1793177",
而getAttribute()之前,你必須在頁面或者邏輯中用serAttribute()設定了才能用,已經很清楚了,我不再
說了哈
Parameter是html裡傳來的像 checkbox textfield password radio...的value
getAttribute是取得jsp中用setAttribute設定的attribute
還有....
parameter得到的是string
attribute得到的是object