このような簡単な検索ページがあるとしましょう:
<form:form id="productsForm" method="post" modelAttribute="productsFormBean">
<form:label path="name">Name : </form:label>
<form:input path="name" />
<button id="filterSubmit" type="submit">Submit</button>
</form:form>
ユーザーは名前を入力してページを送信できますが、何も入力せずにページを送信することもできます。
このようなRESTfulURLを取得することは可能ですか?
- ユーザーは「xyz」という名前を入力し、ページを送信します:www.mywebpage.com/products/name/xyz/
- ユーザーが名前なしでページを送信する:www.mywebpage.com/products/
これが私のコントローラーです:
@RequestMapping(params = "search=true", value = "/**", method = RequestMethod.POST)
public String searchHandler(@Valid final ProductsFormBean productsFormBean, final Model model) {
// (...)
return "productsSearch";
}
フォームの「action」属性を変更すると、URLが変更されます。onSubmitイベントのアクションを変更することで、javascriptですでにそれを達成しました。しかし、それはクリーンな解決策ではありません。コントローラで直接それを達成することは可能ですか?