`
catinthewater
  • 浏览: 981 次
社区版块
存档分类
最新评论

Struts2自动类型转换

阅读更多
struts2 自动类型转换,分为两种,局部类型转换和全局类型转换。
局部的配置如下:
(1)编写类型转换器
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Map;
import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;

public class DateTypeConversion extends DefaultTypeConverter {

	@Override
	public Object convertValue(Map<String, Object> context, Object value,Class toType) {
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
		try{
			if(toType==Date.class){
				String [] dates = (String[]) value;
				return dateFormat.parse(dates[0]);
			}else if(toType==String.class){
				Date date = (Date) value;
				return dateFormat.format(date);
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return null;
	}

	
}


(2)将类型转换器与action进行关联
编写properties文件,文件名称必须是ActionClassName-conversion.properties。
eg:这里的Action名称是Test2Action,则对应的properties名称是:Test2Action-conversion.properties
配置文件内容是:
属性名称=类型转换器全类名
eg:
person.birthday = com.xss.type.conversion.DateTypeConversion

注意,此时的properties文件必须放在Action相同的目录下
eg:



全局类型转换:
(1)编写类型转换器,代码与局部类型转换一样。
(2)将类型转换器与数据类型关联。
编写properties文件,文件名为xwork-conversion.properties。
properties配置内容是:
数据类型=类型转换器全类名
eg:
java.util.Date = com.xss.type.conversion.DateTypeConversion

注意此时,properties文件必须放在classes文件下,
eg:



附加代码
import java.util.Date;

public class Person {

	private String name;
	private Date birthday;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	
	public String toString(){
		return name +" : "+birthday;
	}
	
}


  • 大小: 38.3 KB
  • 大小: 68.2 KB
分享到:
评论

相关推荐

    struts2学习笔记三(第3讲.Struts2的类型转换)

    类型转换在处理用户提交的数据时非常关键,它允许Struts2自动将请求参数转换为Java对象的属性。 在Struts2中,类型转换主要由`Converter`接口实现,它的主要职责是将HTTP请求参数转换为Action类的属性。当我们在...

    struts2数据类型转换器

    这篇博客“Struts2数据类型转换器”可能深入探讨了这个主题,虽然具体的细节无法在此给出,但我们可以根据Struts2中数据类型转换的工作原理来展开讨论。 在Java Web开发中,用户通过表单提交的数据通常是字符串形式...

    struts2自定义类型转换器

    这个过程涉及到了类型转换,Struts2内置了一套转换器机制,能够自动处理基本类型和一些常见类型的转换。然而,对于如Date这样的复杂类型,需要自定义转换器来处理。 创建自定义类型转换器的步骤如下: 1. **定义...

    struts2 类型转换器

    在Struts2中,类型转换器(Type Converter)是框架的一个关键特性,用于处理Action类中属性的自动类型转换。这个特性使得开发者无需手动进行数据类型之间的转换,从而提高了开发效率和代码的可读性。 标题中的...

    Struts2 ConverterType类型转换 案例源码

    类型转换是Struts2框架中一个重要的特性,它允许我们把前端表单提交的数据自动转换为后端Java对象的属性。在这个案例中,我们将深入探讨Struts2中的ConverterType,以及如何实现一个自定义的类型转换器来处理坐标(x...

    Struts2自定义类型转换

    Struts2框架内置了一套类型转换系统,能够自动将前端表单提交的字符串数据转换为Java对象。虽然框架已经提供了对基本类型和常见对象(如`Date`)的转换支持,但对于复杂的自定义类,就需要开发者自定义类型转换器了...

    struts2简单实例(类型转换)

    Struts2框架提供了一种机制,即类型转换器(Type Converter),用于自动将请求参数转化为预期的数据类型。 在Struts2中,实现类型转换主要有两种方式: 1. 使用内置的类型转换器:Struts2已经内置了一些常见的类型...

    struts2数据类型转换

    2. **提高代码健壮性**:Struts2的类型转换机制能够自动处理类型转换过程中可能出现的异常情况,如类型转换失败时,会触发`conversionError`拦截器,从而在用户界面上给出友好的提示信息,提高用户体验。 3. **增强...

    Struts2类型转换(一)----常规类型,自定义类型,错误处理

    Struts2框架内建了一套完整的类型转换器,能够自动处理常见数据类型,如String、Integer、Double等。例如,当用户通过表单提交一个字符串"123",Struts2会自动将其转换为Integer类型。这一过程主要由`ognl....

    struts2自定义数据类型转换练习

    本练习主要关注如何在Struts2中实现自定义的数据类型转换,以满足特定业务需求。 首先,我们需要了解Struts2的数据转换机制。当用户提交表单数据时,Struts2会通过ActionContext获取到这些数据,并尝试将其转换为...

    第2讲 --Struts2的类型转换

    1. 自动类型转换:当Action类的某个属性没有指定Converter时,Struts2会尝试自动进行类型转换。它会查找与属性类型匹配的内置Converter,或者根据注解`@TypeConversion`指定的Converter来进行转换。 2. 手动类型...

    实验4 Struts2的类型转换与OGNL表达式语言.doc

    Struts2提供了丰富的内置类型转换器,可以自动地将用户提交的数据转换为所需的Java数据类型,如`String`、`Integer`、`Double`、`Date`等。这些内置转换器极大地简化了开发者的工作量,并且确保了数据的有效性和一致...

    Struts处理类型转换错误,如时间转换

    在处理用户输入时,Struts2框架需要将请求参数转换为对应的Java对象属性,这个过程就涉及到类型转换。然而,当用户输入的数据格式不正确时,就会出现类型转换错误,例如在尝试将字符串转换为日期时。本篇文章将深入...

    struts2的类型转换详解

    Struts2 的类型转换机制基于 OGNL(Object-Graph Navigation Language)表达式,这意味着开发者可以通过将HTML输入项命名成合法的OGNL表达式,使得Struts2能够自动处理类型转换。 Struts2 自带了一系列内置的类型...

    struts2类型转换

    在Struts2中,类型转换是一项关键功能,它允许框架将用户输入的数据自动转换为应用程序所需的类型。这使得开发人员可以更加专注于业务逻辑,而不用过于担心数据类型匹配的问题。 类型转换在Struts2中的主要作用是...

    struts2自定义类型转换、拦截器实例练习

    本实例练习旨在帮助你深入理解Struts2的工作原理,特别是自定义类型转换和拦截器的使用。 首先,让我们详细探讨Struts2的MVC架构。在MVC模式中,Model代表业务逻辑,View负责展示数据,而Controller则是两者之间的...

    struts2类型转换和国际化

    在Struts2中,类型转换和国际化是两个重要的特性,用于处理数据类型之间的转换以及多语言环境下的内容显示。 **类型转换**是Struts2处理请求参数与Action类属性之间数据类型不匹配的过程。当用户通过表单提交请求时...

Global site tag (gtag.js) - Google Analytics