我们有以下情况
<a href="<c:url value="/inventory"/>">Example 1</a>
<a href="<c:url value="/inventory/?type=removed"/>">Example 2</a>
控制器
@RequestMapping(value = "inventory", method = RequestMethod.GET)
public String printInventoryPage(
ModelMap model,
@RequestParam(value = "type", required = false) String type) {
return "inventory";
}
“示例1”效果很好,但是如果我点击“示例2”会产生这样的错误
org.springframework.web.servlet.PageNotFound noHandlerFound
WARNING: No mapping found for HTTP request with URI [/exampleproject/inventory/resources/js/jquery.js] in DispatcherServlet with name 'spring'
当然,错误适用于所有资源,如css,javascripts等。
除了任何网页,我使用<jsp:include page="header.jsp"/>
可能是什么原因?
答案 0 :(得分:1)
应该是
@RequestMapping(value = "/inventory", method = RequestMethod.GET)
public String printInventoryPage(...)
并在/
?
<a href="<c:url value="/inventory?type=removed"/>">Example 2</a>
答案 1 :(得分:1)
您在&#34; / inventory /?type = removed&#34;中的URI末尾添加了一个/
。只需写&#34; / inventory?type = removed&#34;。
您将控制器方法映射到&#34; inventory&#34;。恕我直言,将它映射到&#34; / inventory&#34;会更正确。但&#34; / inventory /&#34;是另一个网址。
如果出于任何原因,您需要使用该方法来回答这两种方法,请按以下方式声明:
@RequestMapping(value = {"/inventory", "/inventory/"}, method = RequestMethod.GET)
public String printInventoryPage( ...