springMVC转换器配置使用

一:需求

       将页面上的字符串转换为Employee对象

    
        <form action="${pageContext.request.contextPath }/springmvc/testConverter" method="post">
		<!-- 字符串的格式为:[email protected] -->
		Employee : <input type="text" name="employee"/>
		           <input type="submit"/>
	</form>

二:转换类的实现,需要实现Converter<S,T>接口

package com.crud.bean;

import java.util.Date;

public class Employee {

	private Integer id;

	private String lastName;

	private String email;

	private int gerder;

	private Department department;

	//get...set...
}

package com.crud.couverters;

import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;

import com.crud.bean.Department;
import com.crud.bean.Employee;

@Controller
public class EmployeeCouverter implements Converter<String, Employee> {

	@Override
	public Employee convert(String source) {
		Employee employee = new Employee();
		if (!StringUtils.isEmpty(source.trim())) {
			//[email protected]
			String[] emp = source.split("-");
			if (emp != null && emp.length == 4) {
				employee.setLastName(emp[0]);
				employee.setEmail(emp[1]);
				employee.setGerder(Integer.parseInt(emp[2]));
				Department department = new Department();
				department.setId(Integer.parseInt(emp[3]));
				employee.setDepartment(department);;
			}
		}
		System.out.println(source + employee);
		return employee;
	}
}

三:转换器配置

springMVC配置文件中的配置
<mvc:annotation-driven conversion-service="conversionService"/>
	<!-- 若还需要使用格式化标签,将此处的实现类换成org.springframework.format.support.FormattingConversionServiceFactoryBean 即可-->
	<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
		<property name="converters">
			<set>
				<ref bean="employeeCouverter"/>
			</set>
		</property>
	</bean>


猜你喜欢

转载自blog.csdn.net/qq_36722039/article/details/80782602
今日推荐