SpringMVC的@InitBinder参数转换

@Controller
@RequestMapping("/index")
public class IndexController {
	/**
	 * 解决前端传递的日期参数验证异常
	 *
	 * @param binder
	 * @author hzj
	 */
	@InitBinder({"param", "date"})//指定校验参数
	protected void initBinder(WebDataBinder binder) {
		// binder.setDisallowedFields("name"); // 不绑定name属性
		binder.registerCustomEditor(String.class, new StringTrimmerEditor());

		// 此处使用Spring内置的CustomDateEditor
		DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
	}

	@ResponseBody
	@GetMapping("/initbinder")
	public String testInitBinder(String param, Date date) {
		return param + ":" + date;
	}

}

  

原文地址:https://www.cnblogs.com/charkey/p/11588724.html

时间: 2024-10-11 04:07:35

SpringMVC的@InitBinder参数转换的相关文章

关于spring-mvc的InitBinder注解的参数

关于spring-mvc的InitBinder注解的参数 通过Spring-mvc的@InitBinder注释的方法可以对WebDataBinder做一些初始化操作.比如设置Validator. 我一直在想能不能为每个Request或者每个Action方法单独设置Validator.也就是说Controller里有多个被@InitBinder标注的方法. 在不同的Action时被分别调用. 我注意到了@InitBinder的value参数, api docs里是这样描述的:The names o

springMVC使用@InitBinder注解把字符串转化为Date类型

在实际操作中经常会碰到表单中的日期 字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能. 比较简单的可以直接应用springMVC的注解@initbinder和spring自带的WebDataBinder类和操作 @InitBinder public void initBinder(WebDataBinder binder) { SimpleDateFormat dateFormat =

SpringMVC的@InitBinder注解使用

@InitBinder用于在@Controller中标注于方法,表示为当前控制器注册一个属性编辑器或者其他,只对当前的Controller有效.在使用SpringMVC的时候,经常会遇到表单中的日期字符串和JavaBean的Date类型的转换,而SpringMVC默认不支持这个格式的转换,所以需要手动配置,自定义数据的绑定才能解决这个问题.在需要日期转换的Controller中使用SpringMVC的注解@initbinder和Spring自带的WebDateBinder类来操作. WebDat

SpringMVC注解@initbinder解决类型转换问题

在使用SpringMVC的时候,经常会遇到表单中的日期字符串和JavaBean的Date类型的转换,而SpringMVC默认不支持这个格式的转换,所以需要手动配置,自定义数据的绑定才能解决这个问题.在需要日期转换的Controller中使用SpringMVC的注解@initbinder和Spring自带的WebDateBinder类来操作.WebDataBinder是用来绑定请求参数到指定的属性编辑器.由于前台传到controller里的值是String类型的,当往Model里Set这个值的时候

SSM-SpringMVC-30:SpringMVC中InitBinder的骇客级优化

 ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 上篇博客利用initbinder做了局部的日期类型转换,但是兼容性不要,只支持yyyy-MM-dd这种,所以我们这里进行进一步的优化 其实话说回来了,要想限定格式做最稳定的日期类型转换,就是用日期控件,让用户选,你通过js生成日期数据,这可以省好多麻烦 案例开始: 1.定义一个自己的日期编辑类,继承PropertiesEditor package cn.dawn.day22initbinder.edito

160718、jsoup-1.8.1.jar操作html

导入jsoup-1.8.1.jarimport java.io.IOException;import org.jsoup.Connection;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.safety.Whitelist;import org.jsoup.select.Elements;/** * jsoup 是一款Java 的HTML

springMVC 前后台日期格式传值解决方式之二(共二) @InitBinder的使用

关于springmvc日期问题的解决方式 除了本博客的[springMVC 前后台日期格式传值解决方式之 @DateTimeFormat的使用和配置]一文, 还有如下这种方式: 在Controller里加上这段代码: 1 @InitBinder 2 public void initBinder(ServletRequestDataBinder binder) { 3 /** 4 * 自动转换日期类型的字段格式 5 */ 6 SimpleDateFormat sdf = new SimpleDat

SpringMVC 处理Date类型数据@InitBinder @DateTimeFormat 注解 的使用

使用SpringMVC的时候,需要将表单中的日期字符串转换成对应JavaBean的Date类型,而SpringMVC默认不支持这个格式的转换,解决方法有两种,如下: 方法一 . 在需要日期转换的Controller中使用SpringMVC的注解@initbinder和Spring自带的WebDateBinder类来操作. /* 以下资料来自网络 */ 用@InitBinder注解的控制器方法,允许你直接在你的控制器类中配置 Web 数据绑定.@InitBinder标记初始化WebDataBind

【Spring学习笔记-MVC-8.1】SpringMVC之类型转换@initBinder

作者:ssslinppp       1. 摘要 类型转换器常用于转换double.float.date等类型. 上文讲解了Converter类型转换器,这属于Spring 3新支持的类型转换器: 本文主要介绍@InitBinder,可参考如下链接: 参考: http://blog.csdn.net/axin66ok/article/details/17938095 功能说明: 当表单提交double.date等类型时,我们需要将其转换为java可识别的date,double等,如在浏览器中输入