`

Spring4MVC之使用 POJO 对象绑定请求参数值

 
阅读更多

 

使用 POJO 对象绑定请求参数值

 

Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。

如:dept.deptId、dept.address.tel 等

 

示例

 

1. JSP页面

 

<li>使用 POJO 对象绑定请求参数值
            <form action="user/testPOJOMapping" method="POST">
                <table>
                    <tr>
                        <td>用户名:</td><td><input type="text" name="username"  value=""/></td>
                    </tr>
                    <tr>
                        <td>密码:</td><td><input type="password" name="password"  value=""/></td>
                    </tr>
                    <tr>
                        <td>电子邮件:</td><td><input type="text" name="email"  value=""/></td>
                    </tr>
                    <tr>
                        <td>联系电话:</td><td><input type="text" name="phonenumber"  value=""/></td>
                    </tr>
                    <tr>
                        <td>省份:</td><td><input type="text" name="address.province"  value=""/></td>
                    </tr>
                    <tr>
                        <td>城市:</td><td><input type="text" name="address.city"  value=""/></td>
                    </tr>
                    <tr align="right">
                        <td colspan="2"><input type="submit"/></td>
                    </tr>
                </table>
            </form>
        </li>

 

2. 添加模型类

 

package org.rabbitx.web.spring4mvc.requestmapping.model;

public class Address {

	private String province;
	
	private String city;

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	@Override
	public String toString() {
		return "Address [province=" + province + ", city=" + city + "]";
	}
}

 

package org.rabbitx.web.spring4mvc.requestmapping.model;

public class User {

	private String username;
	
	private String password;
	
	private String email;
	
	private String phonenumber;
	
	private Address address;

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPhonenumber() {
		return phonenumber;
	}

	public void setPhonenumber(String phonenumber) {
		this.phonenumber = phonenumber;
	}

	public Address getAddress() {
		return address;
	}

	public void setAddress(Address address) {
		this.address = address;
	}

	@Override
	public String toString() {
		return "User [username=" + username + ", password=" + password
				+ ", email=" + email + ", phonenumber=" + phonenumber
				+ ", address=" + address + "]";
	}
	
}

 

3. 添加处理类

 

	/**
	 * 使用 POJO 对象绑定请求参数值
	 * 
	 * Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。
	 * 如address.province,address.city等
	 * 
	 * 遗留问题:
	 * 1. 表单内容为中文时,乱码
	 */
	@RequestMapping("testPOJOMapping")
	public String testPOJOMapping(User user)
	{
		System.out.println("------testPOJOMapping - user :" + user +" ------");
		return LOGIN;
	}

 

 

 

分享到:
评论

相关推荐

    SPRING MVC 的请求参数获取的几种方法

    在 SPRING MVC 中,也可以直接使用 HttpServletRequest 对象来获取请求参数。例如: ```java @RequestMapping(method = RequestMethod.GET) public String get(HttpServletRequest request, HttpServletResponse ...

    第12章Spring MVC参数绑定的验证

    在Spring MVC中,对于如int、String等基本数据类型的请求参数,Spring MVC会自动将其与控制器方法的参数进行匹配和绑定。例如,一个GET请求中的查询参数`id=123`会被自动绑定到控制器方法的`int id`参数上。 2. **...

    springmvc如何使用POJO作为参数

    本文详细介绍了如何使用 POJO 作为参数,Spring MVC 框架提供了强大的参数绑定机制,可以将请求参数自动绑定到 Java 对象中。通过示例代码,我们可以看到如何使用 POJO 作为参数,并且了解了 POJO 的绑定规则。使用 ...

    spring mvc入门示例

    6. **数据绑定**:Spring MVC提供了自动的数据绑定功能,能够将HTTP请求参数与控制器方法参数进行映射。 7. **验证**:使用Hibernate Validator或Spring的Validator接口,可以在控制器方法执行前验证模型数据。 8. *...

    spring5mvc第一天【大纲笔记】.zip

    SpringMVC支持自动将请求参数绑定到Controller的方法参数上,可以是基本类型、字符串、POJO对象等。通过@RequestParam注解可以指定请求参数名,也可以直接映射到方法参数名。 2.2 请求体内容的绑定 对于POST请求,...

    spring-MVC整合jar包

    Spring MVC 主要由 DispatcherServlet、Controller、Model、ViewResolver 等组件构成,实现请求分发、数据绑定、视图解析等功能。 3. **DispatcherServlet**: 这是 Spring MVC 的核心,它是 Servlet 实现,负责接收...

    spring_mvc注解入门

    这使得我们可以在方法内部直接使用已绑定好的参数,而不必关心请求对象。 4. **细粒度的请求处理**: 通过注解,开发者可以更精确地处理不同类型的HTTP请求,如GET、POST,甚至可以处理具有不同请求参数的相同URL...

    Spring MVC数据绑定概述及原理详解

    Spring MVC的数据绑定机制极大地简化了处理HTTP请求参数的工作,无论是简单类型还是复杂对象结构。通过`DataBinder`、`ConversionService`和`Validator`,开发者可以轻松地将客户端输入转换为业务逻辑所需的格式,并...

    Spring3 MVC请求参数获取的几种方法小结

    Spring3 MVC 框架中,获取请求参数是非常重要的步骤,本文将介绍四种获取请求参数的方法,分别是通过@PathVariabl获取路径中的参数、@ModelAttribute获取POST请求的FORM表单数据、直接用HttpServletRequest获取请求...

    spring mvc项目后端源码

    7. **数据绑定**:Spring MVC 提供了自动的数据绑定机制,可以将请求参数自动绑定到控制器方法的参数上,以及将模型数据自动填充到表单。 8. **异常处理**:通过 `@ExceptionHandler` 注解可以在控制器中处理特定的...

    Spring MVC教程源码

    这部分内容可能包括创建 POJO 类作为 Model,使用 @ModelAttribute 注解绑定请求参数,以及使用 JSP、Thymeleaf 或其他模板引擎来渲染视图。同时,你可能还会接触到视图解析器如 InternalResourceViewResolver 的...

    Spring Web MVC介绍

    - **数据验证与绑定**:内置的数据验证机制可以帮助开发者轻松验证用户输入,而数据绑定则简化了模型数据与请求参数的转换。 - **测试友好**:由于Controller通常是无状态的POJO,因此易于编写单元测试。 3、运行...

    使用Spring MVC框架 实现的云音乐网站.zip

    7. **数据绑定与验证**:Spring MVC 提供了强大的数据绑定和验证功能,可以将请求参数自动绑定到模型对象上,同时支持自定义验证规则。 8. **国际化(i18n)与主题(Theme)**:Spring MVC 支持应用程序的国际化和...

    Hotel_SPring_MVC

    6. **模型绑定(@RequestParam, @ModelAttribute)**:`@RequestParam`用于从请求参数中获取值,而`@ModelAttribute`用于从模型中获取或向模型添加对象。 7. **视图解析(View Resolver)**:Spring MVC通过View ...

    Spring_MVC_教程_快速入门_深入分析

    4. **Ajax 请求**: Spring MVC 支持处理 JSON、XML 等格式的 Ajax 请求。 5. **多视图控制器**: 一个 Controller 可以处理多个视图。 6. **&lt;mvc:annotation-driven/&gt;**: 自动配置注解处理器,如数据绑定、类型转换等...

    使用 Spring 2.5 基于注解驱动的 Spring MVC.doc

    这是 Spring MVC 中最核心的注解之一,用于定义请求映射。它可以应用于类级别或方法级别,以指定 URL 路径和 HTTP 方法(GET, POST 等)。在 `BbtForumController` 示例中,`@RequestMapping("/forum.do")` 用于类...

    spring mvc demo源码

    **注解驱动开发**: Spring MVC 支持注解驱动,使得开发者可以直接在 Controller 方法上使用 `@RequestMapping`、`@GetMapping`、`@PostMapping` 等注解来映射 URL 请求,用 `@ModelAttribute` 注解来绑定请求参数和...

    SPRING MVC

    - 使用 `@ModelAttribute` 注解可以将数据绑定到方法参数,或添加到模型对象中,供视图使用。 7. **视图解析(View Resolution)**: - 视图解析器(如 InternalResourceViewResolver)根据返回的视图名(例如 "jsp...

    Spring MVC之Controller层的常用注解

    它可以与任何POJO类型结合,将请求体转换为Java对象。 7. `@ResponseBody`:表示方法的返回值将直接写入HTTP响应体,而非视图解析。常用于返回JSON或XML格式的数据。 8. `@ModelAttribute`:主要用于绑定请求参数...

    springMvc集合接收参数的用法

    Spring MVC提供了多种方式来接收前端传递的数据,包括单独的参数、数组、列表以及自定义对象。本教程将重点讲解如何接收ajax和form表单传递的集合参数。 一、接收Ajax传递的集合参数 1. JSON格式数据:Ajax通常...

Global site tag (gtag.js) - Google Analytics