Java 如何在SpringMVC上管理错误URL?
我有一个带有SpringMVC3.0.4.0版本的webapp 我有以下情况: 1) 我通过GET输入搜索网页,路径为:search.htmlJava 如何在SpringMVC上管理错误URL?,java,spring-mvc,url-routing,Java,Spring Mvc,Url Routing,我有一个带有SpringMVC3.0.4.0版本的webapp 我有以下情况: 1) 我通过GET输入搜索网页,路径为:search.html 2) 我单击“搜索”,并在路径:searchResults.hmtl 3) 单击搜索结果时,我会向searchResults/enterResult.html发布帖子 4) 假设控制器引发异常… 5) 我需要返回到searchResults.html页面和以前的搜索 我不能使用forward,因为它维护searchResults/enterResults
2) 我单击“搜索”,并在路径:searchResults.hmtl
3) 单击搜索结果时,我会向searchResults/enterResult.html发布帖子
4) 假设控制器引发异常…
5) 我需要返回到searchResults.html页面和以前的搜索 我不能使用forward,因为它维护searchResults/enterResults.html路径,所以如果我单击某个搜索结果,它将生成以下不存在的路径:searchResults/searchResults/enterResults.html
您知道如何处理此问题吗?如果出现错误,为什么不执行
重定向:searchResults.html
而不是转发它?如果要将错误消息发送回该页面显示,可以将其作为参数添加,如下所示:redirect:searchResults.html?error\u message=yada
顺便说一下,如果在构建搜索结果表单操作时避免使用相对URL,那么首先就不应该出现searchResults/searchResults/enterResults.html
问题。看起来你是在entresults.html
上发帖,而不是在/your app/searchResults/entresults.html
上发帖。如果你解决了这个问题,你就不需要像我上面提到的那样执行重定向
我想说的是:
。。。而不是这样做
<form action="enterResults.html" method="POST">
...
</form>
...
。。。做这个
<form action="${pageContext.request.contextPath}/searchResults/enterResults.html" method="POST">
...
</form>
...
这样,转发的URL是否保留以前的URL其实并不重要。您将始终发布正确的操作