請幫助我解決一個問題。 我有一個項目JSP + Spring MVC。它顯示了一些數據表。 所以我在clients.jsp頁面上顯示一些數據,我所有的按鈕都有這樣的鏈接:clients/add
,clients/edit
等等,所以他們用這些url調用servlet。如何在jsp中返回根連接
,我也加入按鈕排序選項clients/sort
當我按下此按鈕,我的網址將成爲http://localhost:8080/Project/clients/sort
,我看到排序的數據,但如果我推任何其他按鈕(添加,編輯)我會得到一個錯誤,因爲Dispatcher試圖找到URL爲clients/sort/add
的servlet,而不是clients/add
。
所以我不知道如何處理這個問題,如何編寫按鈕的鏈接,這將不依賴於頁面的網址?
從我的項目的一些代碼:
按鈕:
<div align="center">
<a class="sort_firstName"
href="<c:url value="/clients/sort/firstnameup"/>">
<spring:message code="label.up"/>
</a>
</div>
<!-- ADD ORDER BUTTON -->
<a class="add_order"
href="<c:url value="/clients/addOrder/${client.id}"/>">
<spring:message code="label.addOrder"/>
</a>/
<!-- EDIT CLIENT BUTTON -->
<a href="<c:url value="/clients/edit/${client.id}"/>">
<spring:message code="label.modify"/></a>
控制器:
@RequestMapping(value = "/add", method = RequestMethod.GET)
public String newClient(Model model) {
Clients client = new Clients();
client.setId(0);
model.addAttribute("clientAdd", client);
return "clientForm";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addClient(@ModelAttribute("clientAdd") Clients client,
BindingResult result, Model model) {
if (result.hasErrors()) {
return "clientForm";
}
clientsService.createClient(new CreateClientEvent(client));
return "redirect:/clients";
}
UPD:
<form id="dialog-form" class="form-horizontal" action="clients/add" method="post">
<table class="table table-condensed table-striped">
....
</table>
<div class="col-sm-offset-2 col-sm-10">
<a class="pull-right">
<button class="btn btn-primary" type="submit" id="addClient" ><c:out value="Create"/></button>
</a>
</div>
</form>
請把添加按鈕,不addOrder按鈕的JSP代碼...你可能沒有使用C:URL添加按鈕。 – 2014-10-08 10:39:33
我添加了添加按鈕,它的形式爲action =「clients/add」 – Cooler 2014-10-08 13:11:10