我是网络编程和Spring MVC 2.5的新手。
我不确定我的问题是一般的春季特定或网络特定。
我有一个menu.jsp,我使用jsp:include将它包含在我的所有jsp中。
<ul class="menu">
<c:url var="home" value="home.htm"/>
<c:url var="data" value="data.htm"/>
<li><a href="${home}" class="parent"><span>HOME</span></a></li>
<li><a href="${data}" class="parent"><span>DATA</span></a></li>
</ul>
当我第一次点击我的应用并拨打 http://localhost:8080/myapp/home.htm 时,一切都很顺利。 但是,当我点击一个使用multiactioncontroller将我带到新网址的链接时。
@RequestMapping(value = "/epm/epmItemList.htm", method = RequestMethod.GET)
public String setupForm(Model model, HttpServletResponse response) throws IOException {
}
@RequestMapping(value = "/epm/epmdelete.htm", method = RequestMethod.GET)
public String setupForm(Model model, HttpServletResponse response) throws IOException {
}
然后我再次点击,回家。我得到了404.我不知道为什么,但是当我检查我的网址链接时,它现在变为: 的 http://localhost:8080/myapp/epm/home.htm
Spring自然地说没有找到处理程序映射,因为我没有为这些映射配置任何映射。我该如何解决这个问题?感谢
答案 0 :(得分:1)
请尝试以下更改:
<ul class="menu">
<c:url var="home" value="/home.htm"/>
<c:url var="data" value="/data.htm"/>
<li><a href="${home}" class="parent"><span>HOME</span></a></li>
<li><a href="${data}" class="parent"><span>DATA</span></a></li>
</ul>
这样链接应该与您的上下文相关,而不是相对于本地页面。