2012-04-07 6 views
1

Ich benutze Spring MVC 3, um ein Formular einzurichten und zu verarbeiten, aber ich habe dieses Problem, das ich noch nie zuvor beim Senden eines Formulars mit Spring MVC 3 und Ich kann den Grund dafür nicht verstehen.Spring MVC 3: HTTP Status 405 - Anfrage Methode 'POST' nicht unterstützt

Wenn ich das Formular abschicke bekomme ich eine HTTP-Status 405 - Request-Methode 'POST' nicht unterstützt Fehler. Im Folgenden finden Sie das .jsp-Formular und den Controller, mit denen ich arbeite.

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"; 
} 

Könnte jemand mir helfen zu verstehen, warum bin ich diesen Fehler?

+0

Aus irgendwelchen Gründen Eclipse-IDE nicht liest 'processForm' und' displayAllProblems' Methoden. Nachdem der Server und das Projekt bereinigt wurden und das Projekt erneut auf den Server verteilt wurde, funktionierte es. – skip

Antwort

0

Sie vergessen, Aktion in <form:form> Tag hinzuzufügen.

versuchen Sie diese:

<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> 
Verwandte Themen