Spring Redirect URL在浏览器中有所不同

时间:2013-07-21 08:06:09

标签: spring spring-mvc

我正在创建示例Spring MVC应用程序。在此应用程序中,当我提交表单时,我有一个表单,我执行一些操作。

我的问题是在表单提交网址更改后,例如我的网址为http://localhost:8080/SampleWeb/sample/user这是我的表单显示,当我提交表单时,网址重定向到http://localhost:8080/sample/user-by-name

在我的jsp中

<form:form method="POST" action="/sample/user">
   <table>
    <tr>

在我的控制器中

@Controller
@RequestMapping("/sample")
public class SampleController {

    @RequestMapping(value = "/user", method = RequestMethod.GET)
    return "redirect:" + "SampleWeb/sample/user-by-name";

当我将重定向网址更改为“/ SampleWeb / sample / user-by-name”时 它适用于Firefox,但在chrome http://localhost:8080/SampleWeb/SampleWeb/sample/user-by-name中它会增加两倍。

如果我提供return "redirect:" + "/sample/user-by-name";则表示网址为http://localhost:8080/sample/user-by-name

我是Spring mvc的新手。请任何人都可以帮助我

3 个答案:

答案 0 :(得分:0)

从此行<form:form method="POST" action="sample/user-by-name">

中删除第一个斜杠

答案 1 :(得分:0)

试试这个:

<c:url var="myUrl" value="/sample/user-by-name"/>
<form:form method="POST" action="${myUrl}">

答案 2 :(得分:0)

不要在控制器/ jsp页面中硬编码上下文路径。在JSP页面中提及上下文路径,如下所示。它对我有用。

<form:form method="POST" action="${pageContext.request.contextPath}/sample/user-by-name">

或者

<form:form method="POST" action="<%=request.getContextPath()%>/sample/user-by-name">