当前位置: 代码迷 >> 综合 >> springMVC转换器配置使用
  详细解决方案

springMVC转换器配置使用

热度:21   发布时间:2023-10-26 09:12:09.0

一:需求

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

    
        <form action="${pageContext.request.contextPath }/springmvc/testConverter" method="post"><!-- 字符串的格式为:GG-gg@csii.com-0-105 -->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> {@Overridepublic Employee convert(String source) {Employee employee = new Employee();if (!StringUtils.isEmpty(source.trim())) {//GG-gg@csii.com-0-105String[] 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>


  相关解决方案