Spring mvc参数类型转换
来源:互联网 发布:python smtp接收邮件 编辑:程序博客网 时间:2024/05/20 13:16
1,需求
有时候我们接收到的参数为String类型的,但是我们需要将它们转化为其他类型的如:date类型,枚举类型等等,spring mvc为我们提供了这样的功能。
2,配置文件
在springmvc.xml配置文件中添加如下代码:
<mvc:annotation-driven conversion-service="conversionService" />
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"><property name="converters"><list><bean class="com.cmc.core.converters.StringToESportConverter" /></list></property></bean>别忘记上面那句,是注册转换器的。
3,添加StringToESportConverter类
package com.cmc.core.converters;import org.springframework.core.convert.converter.Converter;import com.gionee.xo.healthy.enums.ESport;/** * 配置spring mvc自动接收ESport * * @author chenmc */public class StringToESportConverter implements Converter<String, ESport> {@Overridepublic ESport convert(String source) {String value = source.trim();if ("".equals(value)) {return null;}return ESport.get(Integer.parseInt(source));}}
4,添加ESport枚举类
package com.cmc.xo.healthy.enums;import java.util.Locale;import com.cmc.core.base.utils.I18N;/** * 运动枚举 * * @author chenmc * @date 2017年4月18日 下午8:32:33 */public enum ESport {run("0"),//跑步cycling("1");//骑行private final String value;private ESport(String v) {this.value = v;}public String toString() {return this.value;}public static ESport get(int v) {String str = String.valueOf(v);return get(str);}public static ESport get(String value) {for (ESport e : values()) {if (e.toString().equals(value)) {return e;}}return null;}public String getName() {return I18N.getEnumName(this, Locale.CHINA);}}
转换主要用到了get(String value)这个方法
5,controller中代码
@ApiOperation(value="获取某用户单种运动的总信息", notes="返回某用户的运动总次数和总耗时总消耗")@RequestMapping( value = {"/sports/{useruid:.{32}}/{type:\\d{1}}/sum"}, method = RequestMethod.GET, produces = "application/json;charset=UTF-8")@ResponseBodypublic String get_count(HttpServletRequest request, @PathVariable String useruid, @PathVariable ESport type) {return BaseResultHP.jsonResultSuccess(so.getSum(useruid, type));}url中传入的type为String类型的数字,而我接收参数@PathVariable ESport type
阅读全文
0 0
- Spring mvc参数类型转换
- spring mvc 类型转换
- Spring MVC 参数转换(CustomEditorConfigurer)和类型转换器(ConversionServiceFactoryBean)
- spring mvc中类型转换
- spring mvc的类型转换
- spring mvc提交日期类型参数
- spring mvc提交日期类型参数
- spring mvc提交日期类型参数
- spring mvc @RequestBody String类型参数
- spring mvc int 类型转换错误
- Spring MVC JSON自定义类型转换
- Spring MVC JSON自定义类型转换
- 让spring mvc controller转换date类型
- Spring MVC JSON自定义类型转换
- Spring MVC 之类型转换 Converter
- spring mvc 后台接受string类型,对日期类型转换
- spring mvc处理提交的时间类型的参数
- spring MVC不能直接接收list类型参数的问题
- 如何处理definer('root'@'%') does not exist?
- MySQL v5.7.18 版本解压安装
- 深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
- PHP输出类里的所有属性方法
- Java中的转义字符
- Spring mvc参数类型转换
- 【C++】LeetCode 84. Largest Rectangle in Histogram
- Laravel repository数据仓库使用 Star.hou红楼一梦
- c++中输出文件中的数字,并输出到链表
- Google搜索技巧
- java 用命令编译、运行
- 酒店BI成就创业者管理升级
- 变量提升和函数提升
- React组件生命周期过程说明