比方說,我有這樣一個簡單的搜索頁面:的Spring MVC 3和瓷磚:允許控制器改變顯示的URL
<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>
用戶可以輸入一個名稱,並提交頁面,但他也可以提交頁面而不輸入任何內容。
是否有可能獲得一個RESTful URL是這樣的:
- 用戶輸入名稱 「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";
}
如果我更改表單的「動作」屬性,則url會更改。我已經通過改變onSubmit事件上的動作來實現這一點。但這不是一個乾淨的解決方案。是否可以直接在控制器中實現?
是的! 「重定向:/」的竅門。我不得不實施新的方法來處理網址,但它的工作原理!我的重定向看起來更像這樣:return「redirect:name /」+ search; 。謝謝! – 2012-03-08 01:01:37
沒有問題,Spring API文檔對於這樣的問題非常有用,它幾乎是我工作中的聖經。 – dardo 2012-03-08 02:55:22