1

Spring MVC 3 を使用してフォームをセットアップおよび処理していますが、Spring MVC 3 を使用してフォームを送信しているときに、これまでにないこの問題が発生しており、その背後にある理由を理解できません。

フォームを送信すると、HTTP ステータス 405 - Request method 'POST' not supportedエラーが表示されます。以下は、動作させるために使用している .jsp フォームとコントローラーです。

newProblem.jsp

<form:form  commandName="problem" >
        <form:label path="problem" >
            <span class="label">Problem <form:errors path="problem" /></span>
        </form:label>
        <form:textarea path="problem" cssClass="editor"  id="editor"/>


        <input type="submit" value="create"  />
</form:form>

ProblemManagementController.java

//Add new problem (GET)
@RequestMapping(method=RequestMethod.GET, value="/admin/problems/new")
public String setUpForm(Model model) {
    model.addAttribute("problem", new Problem());
    return "newProblem";
}

//Add new problem (POST)
@RequestMapping(method=RequestMethod.POST, value="/admin/problems/new")
public String processForm(@Valid Problem problem, Errors result) {
    if(result.hasErrors()) {
        return "newProblem";
    }
    problemManagementService.createProblem(problem);
    return "redirect:/admin/problems";
}

//Display all problems
@RequestMapping(value="/admin/problems")
public String displayAllProblems(Model model) {
    List<Problem> allProblems = problemManagementService.getAllProblems();

    model.addAttribute("allProblems", allProblems);
    return "allProblems";
}

このエラーが発生する理由を誰かが理解するのを手伝ってくれますか?

4

1 に答える 1

0

タグにアクションを追加するのを忘れてい<form:form>ます。

これを試してください:

<form:form action="admin/problems/new" commandName="problem" >
        <form:label path="problem" >
            <span class="label">Problem <form:errors path="problem" /></span>
        </form:label>
        <form:textarea path="problem" cssClass="editor"  id="editor"/>


        <input type="submit" value="create"  />
</form:form>
于 2012-07-03T05:34:21.923 に答える