【问题标题】:How to pass form data via controller with Spring MVC 3.1 - new to Spring MVC如何使用 Spring MVC 3.1 通过控制器传递表单数据 - Spring MVC 的新手
【发布时间】:2013-01-04 11:24:37
【问题描述】:

我是 spring 的新手,也是 spring mvc 的新手。我正在使用 3.1 版。另外,目前,我使用的是 Tomcat 7 和 MySQL 5.5。我在数据库表中有数据,可以在网页上显示。现在,我正在尝试将数据从 Web 表单添加到我的数据库,然后在网页上显示该数据。

这是我尝试调用网络表单时出现的运行时错误的一部分:

** 根本原因是:不支持请求方法“GET” org.springframework.web.HttpRequestMethodNotSupportedException:org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodResolver.resolveHandlerMethod( AnnotationMethodHandlerAdapter.java:665) 在 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:431) 在 org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java: 424)在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)在 org.springframework.web.servlet.FrameworkServlet .processRequest(FrameworkServlet.java:882) 在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) 在 javax.servlet.http.HttpServlet.servic e(HttpServlet.java:621) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 在

这是我的控制器的相关部分。请注意,如果我只有 @RequestMapping("/newProfile") 行,而不是其他 @RequestMapping 行,那么我会得到一个网页,但没有显示我的数据,这是我所期望的,因为我没有插入在我的 DAO 层中。

    @RequestMapping(value = "/newProfile", method = {RequestMethod.POST})
//@RequestMapping("/newProfile")
public String addNewProfile(@ModelAttribute("profile")Profile profile, ModelMap model) {
      model.addAttribute("firstName", profile.getFirstName());
      model.addAttribute("lastName", profile.getLastName());
      return "newProfileResult";
   }

这是我的输入网络表单(目前使用 JSP):

<%@ include file="/WEB-INF/jsp/includes.jsp" %>
<%@ include file="/WEB-INF/jsp/header.jsp" %>

<html>
<head>
    <title>Profile Test</title>
</head>
<body>

<h2>Information</h2>
<form:form method="POST" action="/newProfile">
   <table>
    <tr>
        <td><form:label path="firstName">First Name</form:label></td>
        <td><form:input path="firstName" /></td>
    </tr>
    <tr>
        <td><form:label path="lastName">Last Name</form:label></td>
        <td><form:input path="lastName" /></td>
    </tr>   
    <tr>
        <td colspan="2">
            <input type="submit" value="Submit"/>
        </td>
    </tr>    
</table>  
</form:form>
</body>

【问题讨论】:

    标签: spring-mvc


    【解决方案1】:

    异常告诉 Spring 找不到 GET 请求的映射。我假设您只在浏览器中输入 /newProfile。这会导致 GET 请求。提供到 GET 请求的映射。您可以通过单独的映射来做到这一点,或者在您编写时省略该方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-27
      • 1970-01-01
      • 2013-08-19
      • 1970-01-01
      • 2013-12-29
      • 1970-01-01
      相关资源
      最近更新 更多