`
jzkangta
  • 浏览: 162274 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

传智Struts2笔记(9)类型转换器

阅读更多
自定义类型转换器

java.util.Date类型的属性可以接收格式为2009-07-20的请求参数值。但如果我们需要接收格式为20091221的请求参数,我们必须定义类型转换器,否则struts2无法自动完成类型转换。

import java.util.Date;
public class HelloWorldAction {
	private Date createtime;

	public Date getCreatetime() {
		return createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}
}



public class DateConverter extends DefaultTypeConverter {
                @Override  public Object convertValue(Map context, Object value, Class toType) {
	SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
	try { 
		if(toType == Date.class){//当字符串向Date类型转换时
			String[] params = (String[]) value;// Request.getParameterValues() 
			return dateFormat.parse(params[0]);
		}else if(toType == String.class){//当Date转换成字符串时
			Date date = (Date) value;
			return dateFormat.format(date);
		}
	} catch (ParseException e) {}
	return null;
	}
}

将上面的类型转换器注册为局部类型转换器:
在Action类所在的包下放置ActionClassName-conversion.properties文件,ActionClassName是Action的类名,后面的-conversion.properties是固定写法,对于本例而言,文件的名称应为HelloWorldAction-conversion.properties 。在properties文件中的内容为:
属性名称=类型转换器的全类名
对于本例而言, HelloWorldAction-conversion.properties文件中的内容为:
createtime= cn.itcast.conversion.DateConverter


自定义全局类型转换器


将上面的类型转换器注册为全局类型转换器:
在WEB-INF/classes下放置xwork-conversion.properties文件 。在properties文件中的内容为:
待转换的类型=类型转换器的全类名
对于本例而言, xwork-conversion.properties文件中的内容为:
java.util.Date= cn.itcast.conversion.DateConverter
分享到:
评论

相关推荐

    传智struts2.18笔记总结

    此外,Struts2提供了内置的类型转换器,方便处理表单数据的自动类型转换。对于表现层,Struts2支持JSP、FreeMarker和Velocity等多种模板技术。 在验证方面,Struts2允许对特定方法进行输入验证,避免了Struts1中的...

    15年9月传智播客视频struts2

    根据提供的文件信息,我们可以推断出这是一套关于Struts2框架的教学视频资料,由知名的教育机构传智播客在2015年9月发布。下面将对Struts2框架进行详细介绍,并基于该视频资料可能涵盖的核心知识点进行展开。 ### ...

    传智播客struts2.1源代码_自定义类型转换器

    自定义类型转换器需要实现`org.apache.struts2.util.TypeConverter`接口,或者继承`org.apache.struts2.convention.converters.DefaultConversionProvider`基类,覆盖`convertValue()`方法。然后,通过在Action类或...

    传智的struts2

    在Struts2中,配置文件通常为struts.xml,用于定义Action、结果类型、拦截器等。 标题“传智的Struts2”可能指的是传智播客教育机构对Struts2框架进行的教学或培训资源。传智播客是一家知名的IT教育机构,他们提供...

    传智播客课件笔记集合

    传智播客教育机构以其在IT培训领域的深厚底蕴,为广大IT技术爱好者提供了一系列实用的教学课件和笔记,其中“传智播客课件笔记集合”就是为编程学习者和求职者量身定做的综合性学习资源。 杨中科作为资深的.NET技术...

    传智播客struts2全程学习笔记

    ### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...

    传智播客Struts2课件

    此文件用于定义Struts2的行为,如Action、结果类型、拦截器等。一个基本的struts.xml配置模板如下: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...

    黑马程序员Struts2笔记

    本笔记主要涵盖了Struts2的基础知识,包括但不限于配置、Action、拦截器、结果类型以及异常处理等内容。 1. **Struts2框架简介** Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,弥补了Struts1在...

    传智struts从入门到精通视频+笔记+上课代码

    9. **Struts 2**:虽然资源名为"传智struts从入门到精通",但通常会涉及到Struts 1和Struts 2的对比,Struts 2在很多方面进行了改进,如使用更现代的OGNL表达式语言,提供更灵活的拦截器机制等。 10. **最佳实践**...

    传智播客struts2教程

    传智播客通过`14_传智播客struts2.1视频教程_全局类型转换器.rar`,帮助开发者了解如何创建自定义的类型转换器,并在Struts2框架中进行注册和使用。 Struts2作为一款成熟且功能强大的框架,其核心优势在于为Java ...

    传智播客struts2.1视频教程_介绍struts2及struts2开发环境的搭建

    本视频教程由传智播客提供,旨在帮助初学者理解Struts2的基础概念,并指导如何搭建Struts2的开发环境。 首先,我们要了解Struts2的核心概念。Struts2是一个基于MVC(Model-View-Controller)设计模式的框架,它的...

    传智播客mybatis笔记

    1. **配置文件**:MyBatis的配置文件主要包括数据源、事务管理器、类型别名、映射文件等配置信息。 ```xml ${driver}"/> ${url}"/> ${username}"/> ${password}"/> ``` 2. **映射...

    传智播客struts2详细课件.ppt

    传智播客 struts2详细课件.ppt

    毕向东传智播客详细笔记

    《毕向东传智播客详细笔记》是一份深入浅出的Java学习资源,由知名IT教育专家毕向东在传智播客的授课内容整理而成。这份笔记以丰富的图文并茂的形式,为Java初学者提供了全面而细致的学习路径,是网络教学的优秀参考...

    传智播客 fckeditor 笔记

    **传智播客FCKeditor笔记** FCKeditor是一款开源的网页文本编辑器,它允许用户在网页上编辑内容,类似于Microsoft Word的功能,但适用于Web环境。这款编辑器以其丰富的功能、良好的兼容性和易于集成而受到开发者的...

    传智播客JS笔记

    "传智播客JS笔记"提供了一套全面且易于理解的学习资源,特别适合初学者掌握JavaScript的基础和核心概念。以下是对笔记中可能包含的重要知识点的详细解释: 1. **变量与数据类型**:JavaScript 支持动态数据类型,这...

    传智播客struts2_3(拦截器_文件上传_输入验证_国际化).ppt

    传智播客struts2_3(拦截器_文件上传_输入验证_国际化).ppt

    自学传智博客struts2-黎活明-源码-第01讲_01介绍struts2及struts2开发环境的搭建_DemoStruts2.rar

    自学传智博客struts2-黎活明-源码-第01讲_01介绍struts2及struts2开发环境的搭建_DemoStruts2.rar; 笔记地址:http://www.guloulou.com/?p=1253

Global site tag (gtag.js) - Google Analytics