`

string @InitBinder 使用

 
阅读更多

在SpringMVC中,bean中定义了Date,double等类型,如果没有做任何处理的话,日期以及double都无法绑定。

解决的办法就是使用spring mvc提供的@InitBinder标签

 

 

@Controller

public class BoceController extends BaseController {

 

@InitBinder

public void initBinder(WebDataBinder binder) {

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

dateFormat.setLenient(false);

binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));

binder.registerCustomEditor(String.class,new StrToInteger());

}

}

 

 

package com.cloud.api.util;

 

import java.beans.PropertyEditorSupport;

 

public class StrToInteger extends PropertyEditorSupport{

 

@Override    

    public void setAsText(String text) throws IllegalArgumentException {    

        if (text == null || text.equals("")) {    

            text = "0";    

        }  

        //text 中获取请求对象

        //2. 将请求对象转化为 需要的对象

        

        Integer value = Integer.parseInt(text);

        //3 将转化的对象放入 setValue 方法中

        setValue(value);    

    }    

    

    @Override    

    public String getAsText() { 

    System.out.println("=++++++++++++++++++++++++++++++++");

        return getValue().toString();    

    }   

    

}

 

 

StrToInteger 这个类是在接收到post 提交的字段后,然后 把接收到的string 字符串,转化为 Integer 对象的方法。

 

分享到:
评论

相关推荐

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

    在上面的代码中,我们使用了 @InitBinder 注解来标注 initBinder 方法,并在该方法中使用 WebDataBinder 的 registerCustomEditor 方法来注册一个自定义的日期编辑器,用于将字符串类型的日期转换为 Date 类型。...

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

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

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

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

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

    在使用@InitBinder注解时,我们需要在控制器中定义一个方法,并在该方法中使用WebDataBinder对象来注册自定义的编辑器。例如, registering a custom date editor to convert date strings to Date objects: ```...

    Spring MVC InitBinder验证方法

    3.使用InitBinder进行验证:在Controller中使用InitBinder对用户提交的数据进行验证。 实例代码 下面是一个使用InitBinder验证方法的实例代码: 首先,创建一个User5模型实体类: ``` package ...

    SSM自定义参数绑定

    总的来说,SSM自定义参数绑定是通过实现`HandlerMethodArgumentResolver`、使用`@InitBinder`和`@ModelAttribute`注解等方式实现的。这些机制赋予了开发者极大的灵活性,可以根据项目的具体需求定制参数绑定规则,...

    XSS防攻击实现

    5. **InitBinder与自定义StringEscapeEditor**:在Spring MVC中,我们可以使用`@InitBinder`注解和自定义的`PropertyEditor`来处理参数绑定。例如,创建一个名为`StringEscapeEditor`的类,继承自`...

    spring3.0注解

    当表单数据不能直接自动绑定到类的属性时,可以使用@InitBinder注解初始化一个数据绑定器,自定义数据转换规则。例如,处理日期类型: ```java @Controller public class MyController { @InitBinder public ...

    Springmvc : Failed to convert property value of type 'java.lang.String' to int

    3. **使用适配器**:如果在模型属性中使用了整型字段,可以使用`@数字@`注解配合`@InitBinder`方法来设置自定义的数字格式。 4. **处理异常**:捕获`MethodArgumentNotValidException`,它是Spring MVC在数据绑定...

    springmvc类型转换.md

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

    Spring 2.5 基于注解驱动的Spring MVC

    这可以通过实现`PropertyEditorSupport`类并使用`@InitBinder`注解在Controller中注册。 ```java @Controller public class MyController { @InitBinder public void initBinder(WebDataBinder binder) { binder...

    第12章Spring MVC参数绑定的验证

    - **使用ControllerAdvice和@InitBinder**: `@ControllerAdvice`可以全局处理验证错误,`@InitBinder`则可以在所有控制器方法调用之前设置数据绑定规则。 - **BindingResult和ModelAttribute**: 在控制器方法中...

    spring中的自定义属性编辑器

    一种是在XML配置文件中使用`propertyEditorRegistrar`元素,另一种是在Java配置中使用`@InitBinder`注解。 在XML配置中: ```xml <!-- 配置属性 --> ``` 在Java配置中: ```java @Controller public ...

    spring数据格式转换

    1. 在Bean定义中使用`@InitBinder`注解和`registerCustomEditor()`方法: ```java @Controller public class MyController { @InitBinder public void initBinder(WebDataBinder binder) { binder....

    springmvc接收参数为日期类型

    1. **使用`@InitBinder`方法** `@InitBinder`注解用于初始化数据绑定过程,我们可以在这个方法中添加自定义的日期格式化器。例如,我们可以创建一个全局的日期格式: ```java @Controller public class ...

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

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

    深入理解Spring MVC的数据转换

    在Spring MVC中,可以通过使用@InitBinder添加自定义的编辑器。例如,可以使用@InitBinder来注册自定义的日期编辑器。这种方式可以让开发者自定义自己的转换器,以满足特定的业务需求。 五、转换器的优先顺序 在...

    Spring-MVC处理XSS、SQL注入攻击的方法总结

    对于 Spring MVC 项目,可以考虑使用框架自带的安全功能,如 @InitBinder 注解,它可以方便地为控制器中的字段注册自定义编辑器,从而实现数据的自动转义。 **示例代码**: ```java @InitBinder public void ...

    SpringMVC日期类型接收空值异常问题解决方法

    在 SpringMVC 框架中,使用 @InitBinder 注解可以对绑定器进行初始化。在这个方法中,我们可以注册一个自定义的日期编辑器,以便将空字符串转换为 Date 类型。下面是一个简单的示例代码: ```java @InitBinder ...

    Java实训教程 Java软件开发实战 Java开发框架介绍 SpringMVC_6_数据校验 共26页.pptx

    public String save(@Valid UserInfo userInfo, BindingResult result) { if (result.hasErrors()) { // 处理校验错误 return "errorPage"; } // 保存数据 user_dao.save(userInfo); return "successPage"; ...

Global site tag (gtag.js) - Google Analytics