概述
1、简介
-
将请求参数通过数据转换接口,自绑定到对应的请求方法参数对象
2、如何自定义数据转换接口
-
应用场景
-
以日期为例
-
实现
-
编写handler
@RequestMapping("/dodate") public String doDate(Date date) { System.out.println(date); return "success"; }
-
编写自定义数据类型转换器
package com.gec.converter; import com.gec.bean.User; import org.springframework.core.convert.converter.Converter; /* * 自定义数据类型转换器 * (String)------>User * */ public class StringToUserConverter implements Converter<String, User> { //张三,30,音乐 @Override public User convert(String s) { //创建User对象 User user=new User(); String dataArrays[]=s.split(","); user.setUsername(dataArrays[0]); user.setAge(Integer.parseInt(dataArrays[1])); user.setCourse(dataArrays[2]); return user; } }
-
配置数据类型转换器(beans.xml)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <context:component-scan base-package="com.gec.controller" /> <!-- 1、注解映射器及适配器的实现 2、消息转换器的配置实现(默认jackjson) 3、数据转换 4、数据格式化处理 --> <mvc:annotation-driven conversion-service="conversionService"/> <!-- 允许直接访问静态资源(js/html/img/css) --> <mvc:default-servlet-handler /> <!-- 自定义的类型转换器 --> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <list> <bean class="com.gec.converter.StringToDateConverter" /> </list> </property> </bean> <!-- 视图解析器 --> <!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>--> <!-- 视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 前缀 --> <property name="prefix"> <value>/WEB-INF/jsp/</value> </property> <!-- 后缀 --> <property name="suffix"> <value>.jsp</value> </property> </bean> </beans>
-
-
应用场景二:字符串转换成用户对象
-
编写handler
@RequestMapping("/saveuser") public String saveUser(User user) { System.out.println(user); return "success"; }
-
编写数据类型转换器
package com.gec.converter; import com.gec.bean.User; import org.springframework.core.convert.converter.Converter; /* * 自定义数据类型转换器 * (String)------>User * */ public class StringToUserConverter implements Converter<String, User> { //张三,30,音乐 @Override public User convert(String s) { //创建User对象 User user=new User(); String dataArrays[]=s.split(","); user.setUsername(dataArrays[0]); user.setAge(Integer.parseInt(dataArrays[1])); user.setCourse(dataArrays[2]); return user; } }
-
编写配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <context:component-scan base-package="com.gec.controller" /> <!-- 1、注解映射器及适配器的实现 2、消息转换器的配置实现(默认jackjson) 3、数据转换 4、数据格式化处理 --> <mvc:annotation-driven conversion-service="conversionService"/> <!-- 允许直接访问静态资源(js/html/img/css) --> <mvc:default-servlet-handler /> <!-- 自定义的类型转换器 --> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <list> <bean class="com.gec.converter.StringToDateConverter" /> <bean class="com.gec.converter.StringToUserConverter" /> </list> </property> </bean> <!-- 视图解析器 --> <!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>--> <!-- 视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 前缀 --> <property name="prefix"> <value>/WEB-INF/jsp/</value> </property> <!-- 后缀 --> <property name="suffix"> <value>.jsp</value> </property> </bean> </beans>
-
-
最后
以上就是魁梧苗条为你收集整理的springmvc中的自定义数据转换的全部内容,希望文章能够帮你解决springmvc中的自定义数据转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复