0

Spring 3 MVC では、GET メソッドを使用して JSP を解決すると、問題なく動作します。

@RequestMapping(value="/my_profile", method = RequestMethod.GET)
public String saveMethod(@ModelAttribute("myBasicInfoForm") MyBasicInfoForm myBasicInfoForm,  HttpServletRequest request) throws ServiceException{
    return  "/testmyprofile";
}

以下のように、コントローラーの別のメソッドを介して saveMethod() を呼び出します。

@RequestMapping(value="/updateProfile", method = RequestMethod.POST)
public String updateProfile(@ModelAttribute("myForm") MyForm myForm, HttpServletRequest request){ logger.debug("<-- log message"); return "redirect:/my_profile"; } 

このメソッドは、HTML フォームによって呼び出されます。

<form:form id="ss_fp_basic_info" action="updateProfile" modelAttribute="myBasicInfoForm" method="post">

しかし、POST メソッドに変更すると、次のエラーが発生します。助けていただければ幸いです。

    [6/20/12 11:23:36:118 EDT] 0000001f SystemOut     O 
[ERROR,BaseController] BaseController - handleException
    org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported
        at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodResolver.resolveHandlerMethod(AnnotationMethodHandlerAdapter.java:623)
        at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:421)
        at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
4

0 に答える 0