学习SpringMVC(十七)之自定义类型转换器

本节的主要内容就是将表单提交的字符串转化为对象

在index.jsp中:

<span style="font-size:18px;"><h2>SpringMVC 自定义转换器</h2>
  <form action="springmvc/testConversion">
  Employee:<input type="text" name="employee">
  <input type="submit" value="提交">
  </form></span>

在Controller中:

<span style="font-family:SimSun;font-size:18px;">package com.cgf.springmvc.handlers;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.cgf.springmvc.crud.dao.EmployeeDao;
import com.cgf.springmvc.crud.entities.Employee;

@RequestMapping(value="/springmvc")
@Controller
public class MyConversion {
	@Autowired
	private EmployeeDao employeeDao;

	@RequestMapping(value="/testConversion")
	public String testConversion(@RequestParam(value="employee")Employee employee,
			Map<String,Object> map){
		employeeDao.save(employee);
		//map.put("emplists", employeeDao.getAll());
		return "redirect:list";
	}

}</span>

之后要自定义一个类型转换器,该类要实现Converter接口

package com.cgf.springmvc.conversion;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
import com.cgf.springmvc.crud.entities.Department;
import com.cgf.springmvc.crud.entities.Employee;

@Component
public class MyConversionService implements Converter<String,Employee>{

	public Employee convert(String source) {
		// TODO Auto-generated method stub
		//[email protected]
		if(source!=null){
			String []args=source.split("-");
			if(args!=null&&args.length==4){
			String lastName=args[0];
			String email=args[1];
			int gender=Integer.parseInt(args[2]);
			Department department=new Department();
			department.setId(Integer.parseInt(args[3]));
			Employee e=new Employee(null, lastName, email, gender, department);
			System.out.println(source+"--conversion--"+e);
			return e;
		}
	}
		return null;
  }
}

最后要在springmvc.xml中配置一个ConversionServiceFactoryBean

<bean name="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
	<ref bean="myConversionService"></ref>
</set>
</property>
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
时间: 2024-11-08 21:15:20

学习SpringMVC(十七)之自定义类型转换器的相关文章

springmvc 类型转换器 自定义类型转换器

自定义类型转换器的步骤: 1.定义类型转换器 2.类型转换器的注册(在springmvc配置文件处理) 来解决多种日期格式的问题:

springmvc 自定义类型转换器

springmvc除了自带的部分类型转换之外,还可以自定义类型转换器,按照以下步骤: 1.写一个类实现Converter接口 package com.hy.springmvc.entities; import org.springframework.core.convert.converter.Converter; import com.google.gson.Gson; public class DepartmentConvertor implements Converter<String,

[原创]java WEB学习笔记67:Struts2 学习之路-- 类型转换概述, 类型转换错误修改,如何自定义类型转换器

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

springmvc:自定义类型转换器代码编写

字符串转换日期: 1.自定义一个类 1 /** 2 * 字符串转换日期 3 */ 4 public class StringToDateConverter implements Converter<String, Date> { 5 6 /** 7 * String source 传入进来字符串 8 * @param source 9 * @return 10 */ 11 @Override 12 public Date convert(String source) { 13 //判断 14

struts2基础----&gt;自定义类型转换器

这一章,我们开始struts2中自定义类型转换器的学习. 自定义类型转换器 一.定义一个继承于StrutsTypeConverter的转换类: package com.huhx.converter; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import o

Struts2类型转换(二)-自定义类型转换器

一.自定义类型转换器 1). 为什么需要自定义的类型转换器 ? 因为Struts不能自动完成字符串到引用类型的转换. 2). 如何定义类型转换器? I. 开发类型转换器的类: 扩展 StrutsTypeConverter 类: II. 配置类型转换器. 有两种配置方式 ①. 基于字段的配置: > 在字段所在的 Model(可能是 Action,也可能是一个JavaBean) 的包下, 新建一个 ModelClassName-conversion.properties 文件 > 在该文件中输入键

0023SpringMVC自定义类型转换器

页面录入的字符串:2019/12/05可以映射到实体的日期属性上,但是如果是录入2019-12-05就会报错400 bad request,想要以2019-12-05日期格式的方式映射到实体的日期属性上,需要自定义类型转换器,主要步骤如下: 1.  自定义类实现Convertro<S,T>接口 2.Springmvc.xml中配置ConversionServiceFactoryBean,其属性上配置我们自定义的转换器 3.欲使配置的转换器生效,需要将springmvc.xml的<mvc:

sruts2 自定义类型转换器

1.1.1    Struts2中自定义类型转换器:(了解) 类型转换的过程是双向的过程: JSP---->Action参数提交:String---Date. Action---->JSP数据回显:Date---String. 自定义类型转换器: * 1.实现TypeConverter * convertValue(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, j

struts2自定义类型转换器

首先,何为struts2的类型转换器? 类型转换器的作用是将请求中的字符串或字符串数组参数与action中的对象进行相互转换. 一.大部分时候,使用struts2提供的类型转换器以及OGNL类型转换机制即可满足大部分类型转换需求.如: 类User.java package models; public class User { private String username; private String password; public String getUsername() { retur