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" 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">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/springMVC.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/springMVC.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
springMVC.xml<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<mvc:resources mapping="/resources/**" location="/"/>
<mvc:annotation-driven/>
<context:component-scan base-package="com.test.controller" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix"><value>/WEB-INF/pages/</value></property>
<property name="suffix"><value>.jsp</value></property>
</bean>
</beans>
//创建一个实体Book类
public class Book {
String name;
String press;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPress() {
return press;
}
public void setPress(String press) {
this.press = press;
}
}
@Controller
@RequestMapping("/welcome")
public class Hello {
//处理index.jsp表单提交
@RequestMapping(value="/show.do",method=RequestMethod.POST)
public String show(@ModelAttribute("book")Book book,Map<String,Object>model){
model.put("book",book);
return "hello";
}
//我们不能直接访问使用Spring表单标签的JSP页面,要先通过controller处理modelAttribute和表单标签的绑定才能访问
@RequestMapping(value="/new.do",method=RequestMethod.GET)
public String login(Map model){
Book book=new Book();
model.put("book",book);
return "index";
}
}
通过controller处理后,book里的属性自动和表单标签里的"path"绑定,简单来说,其实path就是起到了book.getXXX()的作用。
切记,path后跟着的名字要与对象的属性名字一样,否则绑定不了
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ page import="com.test.entity.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form:form modelAttribute="book" method="POST" action="show.do">
<table>
<tr>
<td><form:input path="name"/></td>
</tr>
<tr>
<td><form:input path="press"/></td>
</tr>
<tr>
<td><input type="submit" value="O K"> </td>
</tr>
</table>
</form:form>
</body>
</html>
hello.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
bookName=${book.getName()},press=${book.getPress()}
</body>
</html>
- 大小: 32.1 KB
- 大小: 27.6 KB
分享到:
相关推荐
Spring MVC 之@ModelAttribute使用.rar
使用Spring表单标签实现新增用户信息使用Spring表单标签实现新增用户信息使用Spring表单标签实现新增用户信息使用Spring表单标签实现新增用户信息
在Spring MVC里,@ModelAttribute通常使用在Controller方法的参数注解中,用于解释model entity,但同时,也可以放在方法注解里。 如果把@ModelAttribute放在方法的注解上时,代表的是: 该Controller的所有方法在...
关于spring mvc中的两个注解:@RequestParam、@ModelAttribute区别,原先并没有特别注意,直到最近找别人开发的一个小模块的bug时,才有意识的比较了两者的区别。
使用SprignMVC标签处理表单实例
13.9. 使用Spring的表单标签库 1 13.9.1. 配置 1 13.9.2. form标签 1 13.9.3. input标签 3 13.9.4. checkbox标签 3 13.9.5. checkboxes标签 6 13.9.6. radiobutton标签 6 13.9.7. radiobuttons标签 7 13.9.8. ...
spring3 mvc的标签库,spring.tld和spring-form.tld
NULL 博文链接:https://liukai.iteye.com/blog/973717
在Spring mvc中,注解@ModelAttribute是一个非常常用的注解,下面这篇文章主要给大家介绍了关于spring mvc中@ModelAttribute注解的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
spring的自定义标签代码工程样例,Chapter2工程
在低版本的Spring中,你必须通过JSTL或...不过这一情况已经一去不复返了,从Spring 2.0开始,Spring MVC开始全面支持表单标签,通过Spring MVC表单标签,我们可以很容易地将控制器相关的表单对象绑定到HTML表单元素中。
当在网页填写表单信息过多的时候,一般会采用向导式的分页填写表单方式处理,当用户点击下一步的时候,spring表单控制器会保存每一页的内容,如果填写到中途时想返回修改前面填写的信息时,之前的内容将会重现,而不...
spring标签大全 http://www.web-tag.net/all_14.htm 或下载CHM格式帮助文档
主要给大家介绍了关于spring mvc中注解@ModelAttribute妙用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Android具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
spring揭秘 完整带标签 循序渐进由浅入深的讲解spring原理,完胜废话连篇的spring技术内幕
Spring 标签 使用指南 Spring 标签 使用指南 Spring 标签 使用指南
与其它表单/输入标签库不同,Spring的表单标签库与Spring Web MVC集成在一起, 使标签可以使用命令对象(command object)和你的控制器处理的参考数据(reference data)。 就像下面这些例子展示的一样,表单标签让...
实现spring自定义扩展标签的实现步骤