前台时间(如2013-08-12 18:10:23)传到后台srpingMVC 进行绑定到javaBean的util.date 时会报数据绑定失败,不能从String 转换到Date 类型。
这里我们无非就是想办法进行数据类型转换和绑定。具体绑定参见:http://aokunsang.iteye.com/blog/1409505 这位博主总结得很到位。
现在我写了一个自定议数据绑定类
package com.ltkj.zhepg.com.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.support.WebBindingInitializer;
import org.springframework.web.context.request.WebRequest;
/**
* pring3 mvc 的日期传递[前台-后台]bug:
* org.springframework.validation.BindException
* 的解决方式.包括xml的配置
* @author ZOUKANG http://blog.csdn.net/kang89/
*/
public class SpringDateConverter implements WebBindingInitializer {
@Override
public void initBinder(WebDataBinder binder, WebRequest request) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
binder.registerCustomEditor(Date.class, new CustomDateEditor(df,true));
}
}
关在srping 里声明
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<!-- 日期格式转换 -->
<property name="webBindingInitializer">
<bean class="com.ltkj.zhepg.com.util.SpringDateConverter" />
</property>
</bean>
<mvc:annotation-driven />
现在数据也能绑定了,但就是ajax 提交后返回http 406 ,半天没有弄懂,后来想到了改为下面的声明配置即可,没有这个406问题
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /> <!-- 这个类里面你可以注册拦截器什么的 -->
<bean id="jacksonMessageConverter"
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="com.ltkj.zhepg.com.util.SpringDateConverter" /> <!-- 这里注册自定义数据绑定类 -->
</property>
<property name="messageConverters">
<list>
<ref bean="jacksonMessageConverter" /> <!-- 注册JSON Converter -->
</list>
</property>
</bean>
<mvc:annotation-driven />
附:415 Unsupported Media Type 没有配置<mvc:annotation-driven />转换
406 the server responded with a status of 406 由于客户端请求的MediaType类型默认是:*/*
上面原因就在转为json没有显式声明。之前没有报406是因为没有使用自定义的转换器,json转换也采用了默认的了,所有没有这个406错误
@RequestMapping(value="/add", method=RequestMethod.POST)
public @ResponseBody Map<String, String> addCustomer( NotifyInfo notifyInfo, HttpServletRequest request) {
Map<String, String> map = new HashMap<String, String>(1);
try {
if(notifyInfo.getContent() != null) {
this.notifyInfoService.addOrUpdate(notifyInfo);
}
map.put(AJAX_MESSAGE, "true");
} catch (ApplyException e) {
map.put(AJAX_MESSAGE, "false");
}
return map;
}
分享到:
相关推荐
如果Spring MVC的默认行为不能满足需求,可以通过实现`org.springframework.web.bind.WebDataBinder`的初始化方法`initBinder()`来自定义数据绑定的行为,例如设置特定属性的约束或自定义转换器。 ```java @...
3. **默认配置不当**:Spring MVC的默认配置可能允许过于宽松的数据绑定,例如允许空值绑定到非null字段,或者允许任意类型的参数绑定。 针对这些风险,开发者可以采取以下措施来增强Spring MVC应用的安全性: 1. *...
9. **错误处理**:当数据绑定或验证失败时,Spring MVC可以自动将错误信息添加到模型中,开发者可以通过这些信息来构建错误提示。 10. **数据绑定与视图**:数据绑定不仅涉及控制器,还影响视图层。在视图渲染时,...
在Spring MVC中,数据绑定是框架提供的一种强大的功能,它允许开发者轻松地将HTTP请求参数映射到控制器方法的参数上。这个过程不仅包括基本类型的绑定,还可以处理复杂的对象结构。以下是对Spring MVC数据绑定的深入...
除此之外,Spring MVC还支持数据绑定、验证、本地化、主题、异常处理等功能。例如,使用@ModelAttribute注解可以将请求参数绑定到Controller方法的参数上,@Valid用于进行数据验证,Validator接口可以自定义验证逻辑...
总的来说,"Mastering Spring MVC 4(2015.09)源码"提供了深入学习Spring MVC的机会,你可以通过阅读和分析源码来了解如何配置DispatcherServlet、怎样编写控制器、如何进行数据绑定与验证,以及如何利用拦截器等特性...
总的来说,这个压缩包提供了学习和实践Spring MVC注解的全面示例,涵盖了核心的控制器定义、请求映射、数据绑定,以及异步处理和错误处理机制。通过这个例子,开发者能够更好地理解和掌握Spring MVC的使用,提升其在...
它作为Spring框架的一部分,提供了一种MVC(Model-View-Controller)架构模式的实现,帮助开发者处理HTTP请求、数据绑定、视图渲染等任务。在快速入门的过程中,了解其核心概念和基本使用方法是至关重要的。 1. **...
通过自定义异常处理器,Spring MVC允许优雅地处理运行时异常,提供了统一的错误页面和异常信息。 **7. RESTful支持** Spring MVC支持构建RESTful服务,通过HTTP方法如GET、POST、PUT、DELETE等,实现资源的增删改查...
Spring MVC支持自动的数据绑定,将请求参数自动映射到Controller方法的参数上。同时,使用JSR-303/JSR-349提供的注解可以进行数据验证,如@NotNull、@Size等。 9. **上传下载** 使用MultipartFile处理文件上传,...
10. **拦截器(Interceptor)**:Spring MVC允许自定义拦截器,实现预处理和后处理功能,例如权限检查、日志记录等。 11. **转换器和格式化器(Converter & Formatter)**:处理请求参数和模型属性之间的类型转换,...
在Spring MVC中,可以用于视图解析、数据绑定等方面。 14. **MessageConverter**: Spring MVC使用MessageConverter处理HTTP请求和响应的转换,支持JSON、XML等多种格式。 15. **模板引擎**: Spring MVC支持多种...
在Spring MVC框架中,参数绑定和验证是处理HTTP请求的核心环节。本章主要探讨的是如何在Spring MVC中实现对请求参数的有效性和正确性进行验证,确保应用的数据安全和业务流程的顺畅。以下将详细讲解各个知识点: 1....
12. **异常处理**:Spring MVC允许自定义异常处理器,将业务逻辑中抛出的异常转换为用户友好的错误页面。 13. **注解驱动开发**:Spring MVC广泛使用注解,如@Controller、@RequestMapping、@RequestParam等,使得...
首先,Spring MVC的核心组件包括DispatcherServlet、Controller、Model-View-Controller(MVC)架构、视图解析器和数据绑定等。DispatcherServlet作为Spring MVC的前端控制器,负责接收HTTP请求,然后根据配置分发到...
标题中的"开发Spring MVC应用程序补充—程序源码下载.rar_spring_spring mvc_spring mvc 源码_sp"表明这是一个关于Spring MVC框架的开发教程,其中包含了源代码供学习者参考。Spring MVC是Spring框架的一个核心组件...
同时,Spring MVC还提供了异常处理机制,可以自定义错误页面或者通过@ControllerAdvice全局处理异常。 视图技术方面,Spring MVC与各种视图技术如JSP、FreeMarker、Thymeleaf等良好集成。通过视图解析器,可以方便...
《Mastering Spring MVC 3中文版》是一本深入解析Spring MVC框架的专业书籍,它涵盖了Spring MVC的核心概念、设计原理以及实际应用。Spring MVC是Spring框架的一部分,主要用于构建Web应用程序的模型-视图-控制器...