Spring表单标签和modelAttribute

来源:互联网 发布:java 自己实现线程池 编辑:程序博客网 时间:2024/06/08 13:30
[html] view plain copy
  1. web.xml
[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">   
  3. <context-param>   
  4.     <param-name>contextConfigLocation</param-name>   
  5.     <param-value>classpath*:/springMVC.xml</param-value>   
  6. </context-param>   
  7. <listener>   
  8.     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   
  9.   </listener>   
  10.   
  11.   <servlet>   
  12.     <servlet-name>springMVC</servlet-name>   
  13.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   
  14.     <init-param>   
  15.       <param-name>contextConfigLocation</param-name>   
  16.       <param-value>classpath*:/springMVC.xml</param-value>   
  17.     </init-param>   
  18.     <load-on-startup>1</load-on-startup>   
  19.   </servlet>   
  20.   <servlet-mapping>   
  21.     <servlet-name>springMVC</servlet-name>   
  22.     <url-pattern>/</url-pattern>   
  23.   </servlet-mapping>   
  24.   <welcome-file-list>   
  25.     <welcome-file>index.jsp</welcome-file>   
  26.   </welcome-file-list>   
  27. </web-app>   

springMVC.xml

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <beans xmlns="http://www.springframework.org/schema/beans"   
  3. xmlns:context="http://www.springframework.org/schema/context"   
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"   
  6. xsi:schemaLocation="http://www.springframework.org/schema/mvc   
  7. http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd   
  8.         http://www.springframework.org/schema/context   
  9.         http://www.springframework.org/schema/context/spring-context-3.1.xsd   
  10. http://www.springframework.org/schema/beans   
  11. http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">   
  12.   
  13. <mvc:resources mapping="/resources/**" location="/"/>   
  14. <mvc:annotation-driven/>   
  15. <context:component-scan base-package="com.test.controller" />   
  16. <bean  class="org.springframework.web.servlet.view.InternalResourceViewResolver">   
  17. <property name="prefix"><value>/WEB-INF/pages/</value></property>   
  18. <property name="suffix"><value>.jsp</value></property>   
  19. </bean>   
  20. </beans>   
/创建一个实体Book类 

[java] view plain copy
  1. public class Book {   
  2. String name;   
  3. String press;   
  4. public String getName() {   
  5. return name;   
  6. }   
  7. public void setName(String name) {   
  8. this.name = name;   
  9. }   
  10. public String getPress() {   
  11. return press;   
  12. }   
  13. public void setPress(String press) {   
  14. this.press = press;   
  15. }   
  16.   
  17. }   
[java] view plain copy
  1. @Controller   
  2. @RequestMapping("/welcome")   
  3. public class Hello {   
  4.    //处理index.jsp表单提交   
  5.    @RequestMapping(value="/show.do",method=RequestMethod.POST)   
  6.    public String show(@ModelAttribute("book")Book book,Map<String,Object>model){   
  7. model.put("book",book);   
  8. return "hello";   
  9. }   
  10. //我们不能直接访问使用Spring表单标签的JSP页面,要先通过controller处理modelAttribute和表单标签的绑定才能访问   
  11.           @RequestMapping(value="/new.do",method=RequestMethod.GET)   
  12. public String login(Map model){   
  13. Book book=new Book();          
  14. model.put("book",book);   
  15. return "index";   
  16. }   
  17. }   
通过controller处理后,book里的属性自动和表单标签里的"path"绑定,简单来说,其实path就是起到了book.getXXX()的作用。 
     切记,path后跟着的名字要与对象的属性名字一样,否则绑定不了 

index.jsp 

[html] view plain copy
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"   
  2.     pageEncoding="UTF-8"%>   
  3. <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>   
  4. <%@ page import="com.test.entity.*" %>   
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   
  6. <html>   
  7. <head>   
  8. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">   
  9. <title>Insert title here</title>   
  10. </head>   
  11. <body>   
  12. <form:form modelAttribute="book" method="POST" action="show.do">   
  13. <table>   
  14. <tr>   
  15. <td><form:input path="name"/></td>   
  16. </tr>   
  17. <tr>   
  18. <td><form:input path="press"/></td>   
  19. </tr>   
  20. <tr>   
  21. <td><input type="submit" value="O K"> </td>   
  22. </tr>   
  23. </table>   
  24. </form:form>   
  25. </body>   
  26. </html>   
hello.jsp
[html] view plain copy
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"   
  2.     pageEncoding="utf-8"%>   
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>   
  4.   
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   
  6. <html>   
  7. <head>   
  8. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">   
  9. <title>Insert title here</title>   
  10. </head>   
  11. <body>   
  12. bookName=${book.getName()},press=${book.getPress()}   
  13. </body>   
  14. </html>   


原创粉丝点击