jsp request.getParameter()とrequest.getAttribute()メソッドの違いについて解説しています。
getParameterは、postのgetメソッドから渡されるパラメータを受け取るために使用されます。
getAttributeの前にsetAttributeを指定する必要があります。
(1) request.getParameter()はコンテナの実装を通してpostやgetなどのようなもので渡されたデータを取得します。request.setAttribute()とgetAttribute()はWebコンテナの内部で、ただリクエスト処理の段階で流れているだけなのです。
(2) request.getParameter()メソッドで渡されるデータは、WebクライアントからWebサーバー側に渡されるもので、HTTPリクエストデータを表しています。request.getParameter()メソッドはString型のデータを返します。
request.setAttribute()およびgetAttribute()メソッドで渡されるデータは、Webコンテナの内部にのみ存在します。
もうひとつは、HttpServletRequestクラスにはsetAttribute()メソッドがあるが、setParameter()メソッドがないことである。
例として、2つのWEBページをリンクする場合、つまり1.jspから2.jspへリンクする場合、getParameter()メソッドでリクエストパラメータを取得することが可能です。
もし1.jspが
Htmlコード
<form name="form1" method="post" action="2.jsp">
Please enter the user name: <input type="text" name="username">
<input type="submit" name="Submit" value="Submit">
</form>
リクエストパラメータusernameは、2.jspではrequest.getParameter("username")メソッドで取得します。
Htmlコード
< % String username=request.getParameter("username"); %>
しかし、2つのWEBの間に転送関係があれば、転送先のWEBはgetAttribute()メソッドを使って、転送元のWEBとリクエストのスコープ内のデータを共有し、かつ、やはり例を言うことができる。
1.jspと2.jspがあります。
1.jspは現在のユーザー名を2.jspに渡したいのですが、このデータをどのように渡せばいいのでしょうか?まず、1.jspで以下のsetAttribute()メソッドを呼び出します。
Htmlコード
<%
String username=request.getParameter("username");
request.setAttribute("username", username);
%>
<jsp:forward page="2.jsp" />
2.jspのユーザー名をgetAttribute()メソッドで取得します。
Htmlコード
<% String username=(String)request.getAttribute("username"); %>
- HttpServletRequestクラスにはsetAttribute()メソッドがあるが、setParameter()メソッドはない。
- 2 つの Web コンポーネントがリンクされている場合、リンク先のコンポーネントは getParameter() メソッドでリクエストパラメータを取得します。
- 2 つの Web コンポーネントが転送される場合、転送先のコンポーネントは転送元のコンポーネントと getAttribute() メソッドでリクエストスコープのデータを共有します。
フォームやリンクから渡されるパラメータは、通常、getParameter を使用します。
request.setAttribute("name","jerry") use request.getAttribute("name") で割り当てられる。
この問題は主にrequestとsessionの違いで、requestは少し範囲が狭く、ただrequestは簡単に言うと、ページ上で行う操作で、request.getParameter()はurl、フォームで前のページからパラメータを取得することですが、もしリクエストが複数のクラスを含む場合は、setAttribute()とrequest.getAttribute()が、結果を出力したらリクエスト終了となります。
一方、セッションは多くのページにまたがり、クライアント側では同じIEウィンドウからの複数のリクエストと解釈することができます。これらはすべて、多くのサイトで使用されるユーザーログインのように、それらの間でパラメータを渡すことができます。
ページのパラメータを取得するには、一般にgetParameterを使用します。文字列....
getAttribute()は、オブジェクトを取得することができます。
getParameterはページから渡されたパラメータを取得します。 id=123とかのように。
getAttribute() は、サーブレットページで jsp にパラメータを渡すためによく使われます。
今回は、jspのrequest.getParameter()とrequest.getAttribute()メソッドの違いについてご紹介します。ここでは、request.getParameter()とrequest.getAttribute()メソッドの違いについて説明します。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
jsp session.setAttribute() と session.getAttribute() の使用例について説明します。
-
jsp レスポンスオブジェクトのページリダイレクト、時刻の動的表示
-
JSPの静的インポートと動的インポートの使い分け詳細説明
-
jsp学習用スクリプトレットの使用方法について解説
-
jsp filter フィルタ機能と簡単な使用例
-
ポップアップ式のログインボックスとシャドー効果を実現するJSP
-
ページメッセージのポップアップボックスの右下を実現するJSP
-
JSPの式言語の基本を説明する
-
jspインターフェースに画像を挿入する方法
-
サーブレット+jspでログインできないようにフィルタを実装する