1. ホーム
  2. java

[解決済み] Spring MVC GET HTTP Requestのパラメータ値をコントローラメソッドで取得する方法は?

2023-05-17 09:05:04

質問

今期はSpring MVCのショーケース例(STS dasboardからダウンロード可能)を勉強しているのですが、簡単な質問があります。 Request Mapping の例について簡単な質問があります。

1) 私の home.jsp ページにこのリンクがあります。

        <li>
            <a id="byParameter" class="textLink" href="<c:url value="/mapping/parameter?foo=bar" />">By path, method, and presence of parameter</a>
        </li>

このリンクでわかるように、私はHTTP GETリクエストをしていて、"foo"という値を含むパラメータを持っています: "bar".

このHTTP RequestはコントローラクラスMappingControllerの以下のメソッドで処理されます。

@RequestMapping(value="/mapping/parameter", method=RequestMethod.GET, params="foo")
public @ResponseBody String byParameter() {
    return "Mapped by path + method + presence of query parameter! (MappingController)";
}

このメソッドはHTTPリクエストを管理します(ただし GET 型のみ) のうち、"foo" という名前のパラメータを持つものを管理します。

このパラメータの値("bar")を取り出し、by Parameterメソッドのコード内の変数に入れるにはどうしたらよいでしょうか。

どのように解決するのですか?

で説明したように ドキュメント を使用することで @RequestParam アノテーションを使用します。

public @ResponseBody String byParameter(@RequestParam("foo") String foo) {
    return "Mapped by path + method + presence of query parameter! (MappingController) - foo = "
           + foo;
}