700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > springMVC学习笔记(自定义转换器)

springMVC学习笔记(自定义转换器)

时间:2018-10-18 07:41:49

相关推荐

springMVC学习笔记(自定义转换器)

springMVC 非常的灵活,它帮我们内置了转换器,比如我们从页面传到后台参数的都是String 类型的,但是我们可以这样接受:

@PathVariable("Id") Integer id

这说明了在内部帮我们转换了,那么我们也可以自定义转换器。

前台页面:比如我们传递:张三-男-13432543@-12000-java工程师-1001

这样的数据到后台

<h2>自定义装换器</h2><form action="" method="post">employee:<input type="text" name="employee" /><input type="submit" value="提交" /></form>

首先新建一个类:

@Componentpublic class EmpConverter implements Converter<String,Employee>{@Overridepublic Employee convert(String source) {System.out.println(source);String[] emp = source.split("-");if(emp != null && emp.length==6) {String empName = emp[0];String gender = emp[1];String email = emp[2];BigDecimal salary = new BigDecimal(emp[3]);String jobTitle = emp[4];Integer deptId = Integer.parseInt(emp[5]);Employee employee = new Employee( empName, gender, email, salary, jobTitle, deptId);return employee;} return null;}}

然后再springmvc.xml文件中配置如下:

<mvc:annotation-driven conversion-service="converterService"></mvc:annotation-driven><bean class="org.springframework.context.support.ConversionServiceFactoryBean" id="converterService" ><property name="converters"><set><ref bean="empConverter"/></set></property></bean>

这样就可以在控制类中写一个方法

//自定义转换器public String converter(@RequestParam("employee") Employee employee) {System.out.println(employee);employeeService.add(employee); //增return "list";}

处理的流程: 页面传递指定格式的数据,进入转换类处理然后封装成employee对象返回传递到控制类方法中调用service 中的 方法进行保存。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。