`

SpringMVC @InitBinder webBindingInitializer

 
阅读更多

1:

注册Controller内的Binder:

 

@InitBinder
	 public void initBinder(WebDataBinder binder) {
	 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	 dateFormat.setLenient(false);
	 binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));// true:允许输入空值,false:不能为空值
	 }

 2:或注册全局的binder:

 

<!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> -->
	<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
		<property name="messageConverters">
			<list>
				<bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter" />
				<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
				<bean class="org.springframework.http.converter.StringHttpMessageConverter">
					<property name="supportedMediaTypes">
						<list>
							<value>text/plain;charset=UTF-8</value>
						</list>
					</property>
				</bean>
				<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
					<constructor-arg index="0">
						<util:constant static-field="com.systoon.smvc.utils.json.JsonUtils.OBJECT_MAPPER"/>
					</constructor-arg>
					<property name="supportedMediaTypes">
						<list>
							<value>text/plain;charset=UTF-8</value>
							<value>application/json;charset=UTF-8</value>
						</list>
					</property>
				</bean>
			</list>
		</property>
		<!-- 注册自定义转换器 -->
		<property name="webBindingInitializer">
			<bean class="com.systoon.smvc.converter.SpringMVCConverter">
				<property name="datePattern" value="yyyy-MM-dd HH:mm:ss,yyyy-MM-dd"/>
			</bean>
		</property>
	</bean>

<!-- 自动扫描且只扫描@Controller -->
	<context:component-scan base-package="com.systoon.advice.web.*.controller" use-default-filters="false">
		<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
	</context:component-scan>

<!-- 注意放到最后,否则全局binder不起作用 -->
<mvc:annotation-driven  />

 

以上的:<mvc:annotation-driven /> 必须放到最后,否则全局binder不起作用!!!!!

分享到:
评论

相关推荐

    SpringMVC的@InitBinder参数转换代码实例

    SpringMVC的@InitBinder参数转换代码实例 本文主要介绍了SpringMVC的@InitBinder参数转换代码实例,通过示例代码详细介绍了@InitBinder的使用方法和原理,对大家的学习或者工作具有一定的参考学习价值。 一、什么...

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

    SpringMVC 注解 @InitBinder 解决类型转换问题 在使用 SpringMVC 框架时,经常会遇到表单中的日期字符串和 JavaBean 的 Date 类型的转换问题。 SpringMVC 默认不支持这个格式的转换,因此需要手动配置,自定义数据...

    SpringMVC中利用@InitBinder来对页面数据进行解析绑定的方法

    SpringMVC中利用@InitBinder来对页面数据进行解析绑定的方法 本篇文章主要介绍了SpringMVC中利用@InitBinder来对页面数据进行解析绑定的方法,非常具有实用价值,需要的朋友可以参考下。在使用SpringMVC框架的项目...

    spring mvc使用@InitBinder标签对表单数据绑定的方法

    Spring MVC 使用 @InitBinder 标签对表单数据绑定的方法 Spring MVC 框架中, Bean 中定义了 Date、double 等类型,如果没有做任何处理的话,日期以及 double 都无法绑定。这是因为 Spring MVC 框架中的数据绑定...

    快速解决SpringMVC @RequestBody 用map接收请求参数的问题

    快速解决SpringMVC @RequestBody 用map接收请求参数的问题 在 SpringMVC 中,使用 @RequestBody 注解可以将请求体中的数据转换为 Java 对象,但是在使用 map 接收请求参数时,经常会遇到一些问题。本文将讨论如何...

    SpringMVC @ControllerAdvice使用场景

    主要介绍了SpringMVC @ControllerAdvice使用场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    SpringMvc @RequestParam 使用推荐使用包装类型代替包装类型

    SpringMvc @RequestParam 使用推荐使用包装类型代替包装类型 SpringMvc 框架中的 @RequestParam 注解是一种常用的参数注解,用于将 HTTP 请求参数绑定到方法参数上。该注解提供了多种参数类型的支持,包括基本数据...

    SSM自定义参数绑定

    其次,SpringMVC提供了`@InitBinder`注解,可以用来初始化数据绑定过程。在Controller类或方法上添加`@InitBinder`注解,可以在数据绑定之前设置自定义的转换器或者验证器。例如,如果我们希望对所有日期类型的参数...

    Spring MVC--9.自定义拦截器、异常处理

    Spring MVC--9.自定义拦截器、异常处理

    手写SpringMVC注解动态调用控制器方法.zip

    刚接触SpringMVC几天、代码肯定比不上大佬ε≡٩(๑&gt;₃&lt;)۶ ,手下留情,谢谢 尝试手写SpringMVC动态调用方法 初步使用反射注解实现动态调用方法 初步了解SpringMVC @Controller、@RequestMapping、@requestParam...

    annotation-springMVC.rar_springmvc_springmvc API chm

    1. `@InitBinder`:用于初始化数据绑定过程,可以设置数据绑定的规则和转换器。 2. `@Async`:用于标记异步执行的方法,适用于耗时的操作。 3. `@ExceptionHandler`:捕获并处理异常,提供统一的错误页面或响应。 ...

    springmvc 406 缺的jackson的jar包

    springMVC @ResponseBody 请求返回数据406错误,缺少json格式转换jar包 jackson-annotations-2.5.3.jar jackson-core-2.5.3.jar jackson-databind-2.5.3.jar

    springMVC的demo

    6. **转换器和格式化器**:SpringMVC提供了`@InitBinder`和`@DateTimeFormat`等注解,用于自定义数据绑定和格式化逻辑。 7. **异常处理**:`@ExceptionHandler`注解允许我们为特定类型的异常定义处理方法,这样可以...

    SpringMVC自定义属性编辑器详解及实例

    自定义springMVC的属性编辑器主要有两种方式,一种是使用@InitBinder标签在运行期注册一个属性编辑器,这种编辑器只在当前Controller里面有效;还有一种是实现自己的 WebBindingInitializer,然后定义一个...

    springmvc类型转换.md

    在Spring 3.1之前的版本中,如果需要对特定类型的参数进行格式化或者转换,可以使用`@InitBinder`注解来注册一个自定义的编辑器(`CustomEditor`)或转换器(`Converter`)。下面是一个例子: ```java import org....

    2021全新SpringMVC教程

    1.1_SpringMVC_课程介绍.mp4 1.2_SpringMVC_导学.mp4 02_SpringMVC_回顾MVC.mp4 04_SpringMVC_SpringMVC的特点.mp4 06_SpringMVC_HelloWorld:创建maven工程.mp4 10_SpringMVC_HelloWorld:配置springMVC配置文件....

    SpringMVC 传日期参数到后台的实例讲解

    在使用注解的方式中,我们需要在 Controller 层中使用 `@InitBinder` 注解来实现日期参数的传递。下面是一个示例代码: ```java @InitBinder public void initBinder(HttpServletRequest request, ...

    基于注解的springMVC简单的例子

    `@ModelAttribute`还可以配合`@InitBinder`进行数据绑定的自定义。 **总结** 基于注解的SpringMVC大大简化了Web应用的开发,通过注解,我们可以快速地定义控制器、映射请求、处理参数和返回视图。这种方式不仅减少...

Global site tag (gtag.js) - Google Analytics