3

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

我的问题是在表单提交 url 更改之后,例如我有 url,因为http://localhost:8080/SampleWeb/sample/user这是我的表单显示,当我提交表单时,url 重定向到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";

当我将重定向 url 更改为“/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 的新手。请任何人都可以帮助我

4

3 回答 3

0

删除该行的第一个斜杠<form:form method="POST" action="sample/user-by-name">

于 2013-07-21T09:02:25.643 回答
0

尝试这个:

<c:url var="myUrl" value="/sample/user-by-name"/>
<form:form method="POST" action="${myUrl}">
于 2013-07-22T05:00:14.573 回答
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">
于 2013-07-22T05:21:56.680 回答