回答:
GETリクエストでは、リクエストパラメータはクエリ文字列(URLの疑問符に続くデータ)から取得されます。たとえば、http://hostname.com?p1 = v1&p2 = v2 というURLには、p1とp2という2つのリクエストパラメータが含まれています。POSTリクエストでは、リクエストパラメータは、クエリ文字列と、リクエストの本文にエンコードされているポストされたデータの両方から取得されます。
この例は、生成された出力にリクエストパラメータの値を含める方法を示しています。
Hello <b><%= request.getParameter("name") %></b>!
URLを使用してページにアクセスした場合:
http://hostname.com/mywebapp/mypage.jsp?name=John+Smith
結果の出力は次のようになります。
Hello <b>John Smith</b>!
クエリ文字列で名前が指定されていない場合、出力は次のようになります。
Hello <b>null</b>!
この例では、スクリプトレットでクエリパラメータの値を使用しています。
<%
if (request.getParameter("name") == null) {
out.println("Please enter your name.");
} else {
out.println("Hello <b>"+request. getParameter("name")+"</b>!");
}
%>
暗黙オブジェクトの統一表現言語、Java EEの5チュートリアルを書いています:
暗黙的なオブジェクト
JSP式言語は、暗黙のオブジェクトのセットを定義します。
pageContext
:JSPページのコンテキスト。以下を含むさまざまなオブジェクトへのアクセスを提供します。
servletContext
:同じアプリケーションに含まれるJSPページのサーブレットおよびWebコンポーネントのコンテキスト。Webコンテキストへのアクセスを参照してください。session
:クライアントのセッションオブジェクト。クライアント状態の維持を参照してください。request
:JSPページの実行をトリガーする要求。リクエストからの情報の取得を参照してください。response
:JSPページによって返される応答。応答の作成を参照してください。- さらに、次のオブジェクトに簡単にアクセスできるいくつかの暗黙的なオブジェクトを使用できます。
param
:要求パラメーター名を単一の値にマップしますparamValues
:要求パラメーター名を値の配列にマップしますheader
:要求ヘッダー名を単一の値にマップしますheaderValues
:要求ヘッダー名を値の配列にマップしますcookie
:Cookie名を単一のCookieにマップしますinitParam
:コンテキスト初期化パラメーター名を単一の値にマップします- 最後に、スコープオブジェクトの使用で説明されているさまざまなスコープ変数へのアクセスを許可するオブジェクトがあります。
pageScope
:ページスコープの変数名をその値にマップしますrequestScope
:リクエストスコープの変数名をその値にマッピングしますsessionScope
:セッションスコープの変数名をその値にマップしますapplicationScope
:アプリケーションスコープの変数名をその値にマップします
興味深い部分は太字です:)
したがって、あなたの質問に答えるには、次のように(ELを使用して)アクセスできる必要があります。
${param.accountID}
または、JSPスクリプトレットを使用します(非推奨)。
<%
String accountId = request.getParameter("accountID");
%>
EL(JSP式言語)を使用します。
${param.accountID}
<c:out value="${param.accountID}" />
それを行うにはJSTL を使用します。
ここにコメントを追加する場合...
<c:out value="${param.accountID}"></c:out>
私には機能しません(0が出力されます)。
代わりに、これは機能します:
<c:out value="${param['accountID']}"></c:out>
request.getParameter("accountID")
あなたが探しているものです。これは、JavaサーブレットAPIの一部です。詳細については、http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/ServletRequest.htmlを参照してください。
subject_idを持つ件名レコードを削除する例
@RequestMapping(value="subject_setup/delete/{subjectid}",method = RequestMethod.GET)
public ModelAndView delete(@PathVariable int subjectid) {
subjectsDao.delete(subjectid);
return new ModelAndView("redirect:/subject_setup");
}
パラメータはクエリの入力に使用されます
public int delete(int subjectid) {
String sql = "update tbl_subject set isdeleted= '1' where id = "+subjectid+"";
return template.update(sql);
}
www.somesite.com/Transaction_List.jsp?accountID=5
このため、JavaにURL
メソッド呼び出しがありrequest.getParameter
ます。ここに数値をキャストしたい場合はint
、文字列値をキャストしstring
た場合と同様です。だからあなたの要件のために、ページの下の行の下を単にコピーしてください、
int accountId =(int)request.getParameter("accountID");
この値を使用して呼び出すことができます accountId
で、ページ全体でしてます。
これaccountId
はパラメータの名前です。これを使用して複数のパラメータを取得することもできますが、これは機能しません。GET
ヒットした場合にのみメソッドで動作しますPOST
リクエスト、エラーになります。
これがお役に立てば幸いです。