@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";
}
@PathVariable
URI に基づいて を使用していることに注意し/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
ありがとう