`

PropertyEditorSupport使用方法:

阅读更多


public class Person {
	private String name;
	private int id;
	private int age;

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

import java.beans.PropertyEditorSupport;
import org.springframework.util.StringUtils;

public class BuildcusPE extends PropertyEditorSupport {

	public void setAsText(String info) throws IllegalArgumentException {
		// super.setAsText(info);
		String[] personInfo = StringUtils.delimitedListToStringArray(info, "|");
		// 顺序为 id,age,name
		Person man = new Person();
		man.setId(Integer.parseInt(personInfo[0]));
		man.setAge(Integer.parseInt(personInfo[1]));
		man.setName(personInfo[2]);
		setValue(man);
	}
}

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Testpe {
	private Person man;

	public Person getMan() {
		return man;
	}

	public void setMan(Person man) {
		this.man = man;
		System.out.println("员工姓名:" + man.getName());
		System.out.println("员工编号:" + man.getId());
		System.out.println("员工年龄:" + man.getAge());
	}

	public static void main(String[] args) {
		ApplicationContext ctx = new ClassPathXmlApplicationContext("springmvc2-servlet.xml");
	}
}


<!-- Test PropertyEditorSupport -->
	<!-- Begin -->
	<bean name="customEditorConfigurer"
		class="org.springframework.beans.factory.config.CustomEditorConfigurer">
		<property name="customEditors">
			<map>
				<entry key="com.alipay.yiyu.springmvc.testPropertyEditor.Person">
					<bean class="com.alipay.yiyu.springmvc.testPropertyEditor.BuildcusPE"></bean>
				</entry>
			</map>
		</property>
	</bean>
	<bean id="peTest" class="com.alipay.yiyu.springmvc.testPropertyEditor.Testpe">
		<property name="man">
			<value>3|29|David</value>
		</property>
	</bean>
	<!-- Test PropertyEditorSupport End -->



  • 大小: 16.6 KB
分享到:
评论

相关推荐

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

    本文介绍了两种在 Spring MVC 应用中防御 XSS 和 SQL 注入攻击的方法:数据入库前非法字符转义与显示时非法字符转义,并提供了相应的示例代码。此外,还提到了利用框架内置工具来简化这一过程的可能性。这些方法不仅...

    springmvc自定义属性编辑器和参数解析器

    在Spring MVC中,当控制器方法接收请求参数时,如果请求参数与方法参数类型不匹配,Spring会尝试使用属性编辑器进行转换。例如,从字符串转换为日期、颜色代码到Color对象等。自定义属性编辑器需要继承`java.beans....

    springMVC三种数据转换的Demo

    本示例Demo将详细介绍三种数据转换方法:`@ModelAttribute`、`Converter`和`CustomEditor`。 1. `@ModelAttribute` `@ModelAttribute`是Spring MVC中用于将请求参数绑定到方法参数的一个注解。当我们在控制器方法的...

    学习Spring必学的Java基础知识(3)—PropertyEditor

    `java.beans.PropertyEditor`接口定义了两个主要方法:`setAsText()`和`getAsText()`,分别用于设置和获取文本表示形式。 2. **如何使用PropertyEditor** - 实现`PropertyEditor`接口:创建一个新的类并实现`...

    XSS防攻击实现

    4. **使用安全的HTTP方法**:对于不修改服务器状态的操作,如搜索,推荐使用GET而非POST请求,避免POST数据被恶意注入。 5. **InitBinder与自定义StringEscapeEditor**:在Spring MVC中,我们可以使用`@InitBinder`...

    SSM自定义参数绑定

    这个接口有两个核心方法:`supportsParameter`和`resolveArgument`。`supportsParameter`用于判断当前参数是否需要由该解析器处理,而`resolveArgument`则实际执行参数绑定。 例如,假设我们有一个自定义的日期格式...

    Java反射中java.beans包学习总结

    它提供了三个主要的方法:getPropertyDescriptors()、getDefaultPropertyIndex()和getDefaultEventIndex()。getPropertyDescriptors()方法用于获取JavaBean的属性描述符,默认PropertyIndex()方法用于获取JavaBean的...

    spring中的自定义属性编辑器

    这个接口包含两个主要方法:`setAsText()`和`getAsText()`。`setAsText()`方法负责将字符串转换为对象,而`getAsText()`则将对象转换回字符串。 ```java public class CustomDateEditor extends ...

    Java反射中java.beans包学习总结.docx

    例如,在给定的例子中,`DodeDOEditor`类扩展了`PropertyEditorSupport`,并实现了`setAsText`方法,将字符串"xiaopang|xiaopang@163.com|2021-10-20 12:00:00"转换为`NodeDO`对象。这在Spring MVC中尤其有用,因为...

    Spring boot如何配置请求的入参和出参json数据格式

    创建一个配置类,如 `WebConfig`,并重写 `configureMessageConverters` 方法: ```java @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void ...

    Spring 2.5 基于注解驱动的Spring MVC

    一个Controller可以处理多个URL请求,这是通过在方法上使用`@RequestMapping`注解实现的。这个注解可以接受一个或多个字符串参数,代表对应的URL路径。例如: ```java @Controller public class MyController { @...

    spring数据格式转换

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

    Spring Boot 2.0 配置属性自定义转换的方法

    在本文中,我们将介绍如何实现配置属性自定义转换,包括使用 PropertyEditorSupport 实现自定义转换、使用 Converter 接口实现类型转换等。 一、使用 PropertyEditorSupport 实现自定义转换 在 Spring Boot 2.0 中...

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

    在使用自定义编辑器时,我们需要继承PropertyEditorSupport类,并覆盖setAsText方法,以便将字符串转换为对应的类型。例如,MyDateEditor类的实现如下: ```java private class MyDateEditor extends ...

    Spring In Action笔记100例

    `BeanPostProcessor`接口提供了两个主要方法: - **`postProcessBeforeInitialization`**: 在Bean初始化之前调用。 - **`postProcessAfterInitialization`**: 在Bean初始化之后调用。 要使用`BeanPostProcessor`,...

    Spring Boot项目中定制PropertyEditors方法

    为了实现这个功能,我们需要定义一个 IsbnEditor 类,继承 PropertyEditorSupport 类,并实现 setAsText 和 getAsText 方法。 Isbn 类是一个简单的 Java Bean,它有一个私有字段 isbn,用于存储 ISBN 号码。...

    Spring注入Date类型的三种方法总结

    这种方式是通过自定义`CustomDateEditor`类,继承Spring的`PropertyEditorSupport`,并重写`setAsText`方法,以处理日期字符串到`Date`的转换。首先创建一个`dateEditor` Bean,配置`CustomDateEditor`,并传入`...

    Spring2.0学习笔记

    - **编程式事务管理**:使用PlatformTransactionManager接口的begin(), commit(), rollback()等方法手动管理事务。 - **基于AspectJ的事务管理**:结合AOP,事务规则以切面的形式定义。 6. **Spring与Struts集成*...

Global site tag (gtag.js) - Google Analytics