我想將參數從JSP傳遞到Spring MVC控制器。但是控制器不會被調用。我已經閱讀了許多相關的文章,並嘗試了各種解決方案,但它不適合我。Spring MVC:來自JSP的調用不會去控制器
我的web.xml文件看起來是這樣的:
<display-name>MyList</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>mylist</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mylist</servlet-name>
<url-pattern>/welcome.jsp</url-pattern>
<url-pattern>/welcome.html</url-pattern>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
我的控制器:
@RequestMapping(path = "/subcategory/{id}", method = RequestMethod.GET)
public String findSubcategory(@PathVariable int id,Model model) {
List<Category> subCategoryList = this.myListDao.getSubCategories(id);
model.addAttribute("subcategories", subCategoryList);
return "searchCategory" ;
}
從我的JSP相關的代碼如下
<spring:url value="/subcategory/1" var="formUrl"/>
<c:forEach var="category" varStatus="status" items="${categories}">
<li><a href="${fn:escapeXml(formUrl)}">${category.description}</a></li>
</c:forEach>
它工作時,我有url爲/subcategory.html
,在我的控制器中有@RequestMapping("/subcategory")
。當我使用/subcategory/1
並更改相應的請求映射時,它不起作用。我曾嘗試過各種網址格式,如<url-pattern>/mylist/*</url-pattern><url-pattern>/MyList/*</url-pattern>
等,但沒有任何工作。我真的很感謝任何幫助解決這個問題。提前致謝。
非常感謝......它的工作。我最初對使用/爲url模式持懷疑態度,但這是似乎工作的唯一解決方案。 – Love2LearnNShare
這是工作正常......但是當我清除瀏覽器緩存data..it沒有顯示的CSS ...在控制檯上我得到一個錯誤「代碼」沒有找到映射與URI的HTTP請求[/ MYLIST /資源/....in DispatcherServlet。我嘗試使用 和 'code',但它不會將我帶到控制器中......它可以很好地處理* .html網址映射。任何線索爲什麼會發生? –
Love2LearnNShare
@ Love2LearnNShare這似乎是與您的靜態資源配置相關的另一個問題。我建議就此提出另一個問題。這與您放置靜態資源的位置有關。另外提及你的目錄結構相同 – ScanQR