1

@Controller次の@RequestMapping注釈が付いています

@RequestMapping(value={"somevalue"}, 
                method=RequestMethod.GET,
                produces=MediaType.TEXT_HTML_VALUE)
public String findOneById(@PathVariable String id, Model model){
    model.addAttribute(findOneById(id));
    return "some view";
}

@PathVariableURI に基づいて を使用していることに注意し/persons/{id}てください。たとえば、次のように動作します。

  • /人/100
  • /人/200

期待される人物を検索します。

その@RequestMappingメソッドは、次の場合に正常に機能します。

  • URL/URI を同じ Web ブラウザーのアドレス バー (.../persons/200) に入れました。
  • 詳細を表示するためのリンク (.../人/200) を含むアイテムのレポートを生成するとき。

次のような検索フォームを作成しようとしています。

<body>

        <spring:url var="findOne" value="/persons/" >

        </spring:url>

        <form action="${findOne}" method="get">     
            <table>
                <tr>
                    <td><label for="id"><spring:message code="persona.id.label"/></label></td>
                    <td><input name="id" id="id" value=""/></td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" value="search"/></td>
                </tr>
            </table>
        </form>
    </body>

私の問題は、送信を押すと、フォームが常にフォーマットで検索を行うための URL を生成/作成することです/persons?id=100。私はそれが正常であり、期待されていることを知っています。

しかし、興味があるだけで、もちろん可能であれば:

質問:

送信ボタンを押したとき/persons/100の代わりに、URI パターンを生成するための新しい構成は何でしょうか?/persons?id=100

@RequestMappingを回避する新しいメソッドを作成することは避けたい@RequestParam(it for ?id=100)。(it for ) バージョンで@RequesMapping動作するメソッドを補完するものです。@PathVariable/100

ありがとう

4

0 に答える 0