首先要道歉,问这个重复的问题。
其实在我的Spring应用程序,我有user.jsp和professional.jsp
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,服务器控制台中没有响应,但显示以下警告消息:
Problem
Add
29 Mar, 2013 1:03:51 PM org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleHttpRequestMethodNotSupported WARNING: 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"; }