@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
ありがとう