Spring,不支持请求方法“ POST”
首先要道歉,问这个重复的问题。
其实在我的Spring应用程序,我有user.jsp和professional.jsp
这是我的User.jsp:
  <form:form action="profile/user" modelAttribute="profile">    <div>
        <jsp:include page="professional.jsp"></jsp:include>
    </div>
</form:form>
这是我的professional.jsp:
   <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<fieldset id="profile_proffiesional">
    <form:form action="profile/proffiesional" modelAttribute="PROFESSIONAL" method="POST">
        <p>
            <label for="position">Position</label>
            <form:input path="position" tabindex="4" />
        </p>
        <p>
            <label for="location">Location</label>
            <form:input path="location" tabindex="5" />
        </p>
        <p>
            <label for="description">Description</label>
            <form:input path="description" tabindex="5" />
        </p>
        <p>
            <input type="submit" value="Add">
        </p>
    </form:form>
</fieldset>
这是我的Controller类:
    @Controller@RequestMapping(value = "profile")
public class UserProfileController {
    @Autowired
    private UserService userService;
    @Autowired
    private SessionData sessionData;
    @RequestMapping(value = "user", method = RequestMethod.GET)
    public String user(Model model) throws Exception {
        model.addAttribute("PROFESSIONAL", new UserProfessionalForm());
        model.addAttribute("EDUCATIONAL", new UserEducationalForm());
        model.addAttribute("AWARDS", new UserAwardsForm());
        return "profile/user";
    }
    @RequestMapping(value = "proffessional", method = RequestMethod.POST)
    public @ResponseBody
    String forgotPassword(UserProfessionalForm professionalForm,
            BindingResult result, Model model) {
        UserProfileVO userProfileVO = new UserProfileVO();
        userProfileVO.setUser(sessionData.getUser());
        userService.saveUserProfile(userProfileVO);
        model.addAttribute("professional", professionalForm);
        return "Your Professional Details Updated";
    }
}
Problem是当我们单击中的Add按钮时professional.jsp,服务器控制台中没有响应,但显示以下警告消息:
  29 Mar, 2013 1:03:51 PM org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleHttpRequestMethodNotSupportedWARNING: Request method 'POST' not supported
为什么会出现此警告?我已经指定method =“ POST” ..
请帮忙..
回答:
您的user.jsp:
 <form:form action="profile/proffesional" modelAttribute="PROFESSIONAL">     ---
     ---
    </form:form>
在您的控制器类中:
(使其成为一个有意义的完整方法名称。。听见,我认为您是在DB中插入记录。)
@RequestMapping(value = "proffessional", method = RequestMethod.POST)    public @ResponseBody
    String proffessionalDetails(
            @ModelAttribute UserProfessionalForm professionalForm,
            BindingResult result, Model model) {
        UserProfileVO userProfileVO = new UserProfileVO();
        userProfileVO.setUser(sessionData.getUser());
        userService.saveUserProfile(userProfileVO);
        model.addAttribute("PROFESSIONAL", professionalForm);
        return "Your Professional Details Updated";
    }
以上是 Spring,不支持请求方法“ POST” 的全部内容, 来源链接: utcz.com/qa/399949.html
