Java Spring,请求方法';邮政';不支持

Java Spring,请求方法';邮政';不支持,java,spring,jsp,post,Java,Spring,Jsp,Post,首先,要对这个重复的问题表示歉意 实际上,在我的spring应用程序中,我有user.jsp和professional.jsp 这是我的User.jsp: <form:form action="profile/user" modelAttribute="profile"> <div> <jsp:include page="professional.jsp"></jsp:include> </div>

首先,要对这个重复的问题表示歉意

实际上,在我的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
中单击
Add
按钮时,服务器控制台中没有响应,但显示以下警告消息:

  29 Mar, 2013 1:03:51 PM org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleHttpRequestMethodNotSupported
WARNING: Request method 'POST' not supported
为什么会有这样的警告?我已经指定了method=“POST”


请帮助..

您正在为
放弃密码
方法中的
UserProfessionalForm professionalForm
参数进行注释

@RequestMapping(value = "proffessional", method = RequestMethod.POST)
public @ResponseBody
String forgotPassword(@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";
}
在Jsp中:

action="profile/proffiesional"
内部控制器

@RequestMapping(value = "proffessional", method = RequestMethod.POST)
拼写不匹配

Your user.jsp:

 <form:form action="profile/proffesional" modelAttribute="PROFESSIONAL">
     ---
     ---
    </form:form>
试试这个

@RequestMapping(value = "proffessional", method = RequestMethod.POST)
    public @ResponseBody
    String forgotPassword(@ModelAttribute("PROFESSIONAL") 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";
    }

作为参考,我删除了action属性,并且在调用ajax帖子时出现了此错误。尽管我的action属性在表单中类似于
action=“javascript://;”“


我以为我是通过ajax调用和序列化表单得到它的,但我再次向表单添加了虚拟操作属性,它成功了。

我在sprint安全xml文件中启用了csrf,所以我只在表单中添加了一行:

<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" /> 


通过这种方式,我可以提交带有
model
属性的表单。

再次发出警告:2013年3月29日下午1:37:32 org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleHttpRequestMethodNotSupported警告:请求方法“POST”不受支持我做了这么多。。。我不敢说。哈哈获得此警告:2013年3月29日下午1:37:32 org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleHttpRequestMethodNotSupported警告:不支持请求方法'POST'。否。。再次警告,但是..复制相同的代码并进行教育(上面的代码我在model AttributeBute中包括EducationalForm)…因此在那段时间内工作得很好..但是专业人员不工作也可以在Professional的前面加一个斜杠,像这样/Professional,或者我可以使用get方法发送以返回ModelAndView函数。
@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";

    }
@RequestMapping(value = "proffessional", method = RequestMethod.POST)
    public @ResponseBody
    String forgotPassword(@ModelAttribute("PROFESSIONAL") 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";
    }
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />