3

サンプルSpring MVCアプリケーションを作成しています。このアプリケーションでは、フォームを送信するとフォームが1つあり、何らかのアクションを実行します。

私の問題は、フォーム送信 URL が変更された後ですhttp://localhost:8080/SampleWeb/sample/userhttp://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 では機能しますが、Chromehttp://localhost:8080/SampleWeb/SampleWeb/sample/user-by-nameでは 2 回追加されます。

私が与える場合、return "redirect:" + "/sample/user-by-name";URLはhttp://localhost:8080/sample/user-by-name

私はSpring mvcが初めてです。誰でも私を助けてください

4

3 に答える 3

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 に答える
0

これを試して:

<c:url var="myUrl" value="/sample/user-by-name"/>
<form:form method="POST" action="${myUrl}">
于 2013-07-22T05:00:14.573 に答える