spring mvc 数据绑定 400错误

情景:使用在方法中绑定数据的时候,打开链接,出现400错误。

@RequestMapping(value = "editItemSubmit")
    public String editItemSubmit(int id, Items item) {
        itemService.updateItemFromId(id, item);
        return "redirect:queryItemlList";
    }
public class Items {

    private int id;
    private String name;
    private float price;
    private String pic;
    private Date createtime;
    private String detail;

注意看:我的bean里面是有Date这个类型,但是spring mvc 并不能把前段的string类型转换成整理的Date类型,所以出现了这个错误。

解决办法:使用自定义参数绑定(converter转换器方式)

  1. 编写响应的converter,实现固定接口:
第一个参数是原始类型,第二个参数是转换后的类型
public class CustomDateConverter implements Converter<String, Date> {

    @Override
    public Date convert(String s) {
        try {
            return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(s);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
}

在springmvc.xml配置文件配置格式化转换服务工厂bean:FormattingConversionServiceFactoryBean

<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
        <property name="converters">
            <list>
                <bean class="xyz.zhulei.spring_mybatis.controller.convert.CustomDateConverter"/>
            </list>
        </property>
    </bean>

然后加上:

<mvc:annotation-driven conversion-service="conversionService"/>

大功告成,就可以自动完成string到date的转换了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-27 11:50:10

spring mvc 数据绑定 400错误的相关文章

转转转![Spring MVC] - 500/404错误处理-SimpleMappingExceptionResolver

参考博客: http://www.cnblogs.com/dongying/p/6129937.html http://www.cnblogs.com/rollenholt/archive/2012/12/25/2832731.html http://cgs1999.iteye.com/blog/1547197 我在项目中的使用: 1)404找不到: web.xml中配置: <!-- 404错误 --> <error-page> <error-code>404</

SpringMvc 数据绑定400错误

今天请求一个SpringMvc 的时候,客户端总是报出: The request sent by the client was syntactically incorrect 网上都是说的是bean的名字和表单的名字不一样,但是我检查了N多遍之后,还是有报这个异常,就想到了SpringMvc 自动装配的问题. 然后看日志说是""转为int类型的时候不可以为空: 应该就是数据绑定的问题了,经过一番研究,springMvc的数据绑定有几种方式: 1,controller 独享 2,全局共享

[Spring MVC] - 500/404错误处理

Spring MVC中404 找不到页面错误可以直接使用web.xml中配置: 在<web-app/>节点内加入: <error-page> <error-code>404</error-code> <location>/WEB-INF/views/errors/404.jsp</location> </error-page> 500的运行时错误,可以使用Spring MVC的SimpleMappingExceptionR

Spring Mvc Http 400 Bad Request问题排查

如果遇到了Spring MVC报错400,而且没有返回任何信息的情况下该如何排查问题? 问题描述 一直都没毛病的接口,今天测试的时候突然报错400 Bad Request,而且Response没有返回任何信息. 解决方案 尝试了一下午,终于找到了排查这类问题的办法. 我们知道,在Spring MVC里面, org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler 负责所有异常的统一处理

spring mvc 数据绑定总结

spring mvc 做web开发时,经常会不知道如何合适绑定页面数据.用惯struts2的朋友更认为spring mvc 绑定数据不如struts2方便(本人最开始也是这么认为),经过一段时间的应用和测试,总结出以下几种情况,希望对刚接触spring mvc 的朋友有所帮助. 示例程序下载 查看spring源码可以看出spring支持转换的数据类型已经很多了. org.springframework.beans.PropertyEditorRegistrySupport.java [java]

spring mvc ajax 400解决

The request sent by the client was syntactically incorrect. ajax发起请求时报400错误.请求代码如下: var reportId=($(obj).parent().parent().parent().children(":first").attr("value")); var isChecked=$(obj).prop("checked")=="checked"?

Spring MVC 数据绑定(二)

Spring支持多种形式的类型绑定,包括: 1.基本数据类型.String和String[] 2.简单对象类型 3.List类型 4.Set类型 5.Map类型 6.复合数据类型 接下来一个一个的实现: 1.基本数据类型.String和String[]. 请求处理方法: public void registBean(String username,int age,double income,String[] interests,boolean marrid) 保证JSP页面上提交项和方法中对应参

Spring MVC + mybatis项目错误解决方案汇总

1.启动tomcat时,报java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener错误,如下图: 解决方法:项目 ->右键 -> 属性 -> Deployment Assembly -> add -> Java Build Path Entries -> next -> Maven Dependencies -> Finish ->

FreeMarker与Spring MVC 4结合错误:Caused by: java.lang.NoClassDefFoundError: org/springframework/ui/freemarker/FreeMarkerConfiguration

添加spring-context-support的依赖到POM: <!-- spring-context-support --> <!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support --> <dependency> <groupId>org.springframework</groupId> <artifactId>spr