/FormTest/WebContent/content/registerForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>form和input标签的使用</title> </head> <body> <form:form method="post" action="register"> <table> <tr> <td>姓名:</td> <td><form:input path="username"/></td> </tr> <tr> <td>性别:</td> <td><form:input path="sex"/></td> </tr> <tr> <td>年龄:</td> <td><form:input path="age"/></td> </tr> </table> </form:form> </body> </html>
/FormTest/WebContent/WEB-INF/springmvc-config.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd"> <!-- spring可以自动去扫描base-pack下面的包或者子包下面的java文件 如果扫描到由Spring相关注解的类,则把这些类注册为Spring的bean --> <context:component-scan base-package="org.fkit.controller"/> <!-- 配置annotation类型的处理映射器 --> <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" /> --> <!-- 配置annotation类型的处理器适配器 --> <!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" /> --> <!-- 设置配置方案:该配置会自动注册RequestMappingHandlerMapping和RequestMappingHandlerAdapter --> <mvc:annotation-driven/> <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" /> </beans>
/FormTest/WebContent/WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <!-- 定义Spring MVC的前端控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springmvc-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 让Spring MVC的前端控制器拦截所有请求 --> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
/FormTest/src/org/fkit/domain/User.java
package org.fkit.domain; import java.io.Serializable; public class User implements Serializable{ private static final long serialVersionUID = 1L; private String username; private String sex; private Integer age; public User() { super(); } public User(String username,String sex,Integer age) { super(); this.setUsername(username); this.setSex(sex); this.setAge(age); } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
/FormTest/src/org/fkit/controller/UserController.java
package org.fkit.controller; import org.fkit.domain.User; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class UserController { @RequestMapping(value="/registerform",method=RequestMethod.GET) public String registerForm(Model model) { User user = new User("jack", "男", 20); //向mdoel中添加command属性 model.addAttribute("command",user); return "content/registerForm.jsp"; } }
测试结果:
第二种:给form绑定modelAttribute
/FormTest/WebContent/content/registerForm1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>form和input标签的使用2</title> </head> <body> <form:form modelAttribute="user" method="post" action="register"> <table> <tr> <td>姓名:</td> <td><form:input path="username"/></td> </tr> <tr> <td>性别:</td> <td><form:input path="sex"/></td> </tr> <tr> <td>年龄:</td> <td><form:input path="age"/></td> </tr> </table> </form:form> </body> </html>
/FormTest/src/org/fkit/controller/UserController.java
package org.fkit.controller; import org.fkit.domain.User; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class UserController { @RequestMapping(value="/registerform1",method=RequestMethod.GET) public String registerForm1(Model model) { User user = new User("jack", "男", 20); //向mdoel中添加command属性 model.addAttribute("user",user); return "content/registerForm1.jsp"; } }
测试结果: