SpringMVC自定义类型装换器

JSP页面:

<form action="testConverter" method="post">
		<!-- 输入:小明-123456-25 -->
		<input type="text" name="user">
		<input type="submit" value="自定义类型装换器">
	</form>

后台Controller的方法

/**
	 * 自定义springmvc类型装换器
	 * @param user:实体类,这里用来接收jsp传过来的值。
	 * @return
	 */
	@RequestMapping("/testConverter")
	public String testConverter(User user) {
		System.out.println(user);
		return "success";
	}

springmvc自定义类型装换器的类:

package com.gl.converter;

import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

import com.gl.model.User;

/**
 * 自定义springmvc类型装换器
 * @author Administrator
 * 其中Converter<String, User>里面的String,是前端请求来的数据类型,User 是需要转换成的数据类型
 * @Component:spring ioc注解
 */
@Component
public class EmployeeConverter implements Converter<String, User> {

	@Override
	public User convert(String source) {
		if (null != source) {
			//小明-123456-25
			String[] vals = source.split("-");
			if (vals != null && vals.length == 3) {
				User user = new User();
				user.setName(vals[0]);
				user.setPassword(vals[1]);
				user.setAge(Integer.parseInt(vals[2]));
				System.out.println("类型转换成功,user:" + user);
				return user;
			}
		}
		return null;
	}

	
}

Spring MVC的配置文件中加入:

    <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
    
    <!-- 把SpringMVC自定义的类型装换器加入到SpringMVC自带的类型装换器的体系中 -->
    <bean id="conversionService" 
    	class="org.springframework.context.support.ConversionServiceFactoryBean">
    	<property name="converters">
    		<set>
    			<ref bean="employeeConverter"/><!-- 自定义类型转换器的类名。首字母小写 -->
    		</set>
    	</property>
    </bean>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值