自定义类型转换器
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提供了内置的类型转换器,方便处理表单数据的自动类型转换。对于表现层,Struts2支持JSP、FreeMarker和Velocity等多种模板技术。 在验证方面,Struts2允许对特定方法进行输入验证,避免了Struts1中的...
根据提供的文件信息,我们可以推断出这是一套关于Struts2框架的教学视频资料,由知名的教育机构传智播客在2015年9月发布。下面将对Struts2框架进行详细介绍,并基于该视频资料可能涵盖的核心知识点进行展开。 ### ...
自定义类型转换器需要实现`org.apache.struts2.util.TypeConverter`接口,或者继承`org.apache.struts2.convention.converters.DefaultConversionProvider`基类,覆盖`convertValue()`方法。然后,通过在Action类或...
在Struts2中,配置文件通常为struts.xml,用于定义Action、结果类型、拦截器等。 标题“传智的Struts2”可能指的是传智播客教育机构对Struts2框架进行的教学或培训资源。传智播客是一家知名的IT教育机构,他们提供...
传智播客教育机构以其在IT培训领域的深厚底蕴,为广大IT技术爱好者提供了一系列实用的教学课件和笔记,其中“传智播客课件笔记集合”就是为编程学习者和求职者量身定做的综合性学习资源。 杨中科作为资深的.NET技术...
### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...
此文件用于定义Struts2的行为,如Action、结果类型、拦截器等。一个基本的struts.xml配置模板如下: ```xml <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...
本笔记主要涵盖了Struts2的基础知识,包括但不限于配置、Action、拦截器、结果类型以及异常处理等内容。 1. **Struts2框架简介** Struts2是Apache软件基金会的一个开源项目,它是Struts1的升级版,弥补了Struts1在...
9. **Struts 2**:虽然资源名为"传智struts从入门到精通",但通常会涉及到Struts 1和Struts 2的对比,Struts 2在很多方面进行了改进,如使用更现代的OGNL表达式语言,提供更灵活的拦截器机制等。 10. **最佳实践**...
传智播客通过`14_传智播客struts2.1视频教程_全局类型转换器.rar`,帮助开发者了解如何创建自定义的类型转换器,并在Struts2框架中进行注册和使用。 Struts2作为一款成熟且功能强大的框架,其核心优势在于为Java ...
本视频教程由传智播客提供,旨在帮助初学者理解Struts2的基础概念,并指导如何搭建Struts2的开发环境。 首先,我们要了解Struts2的核心概念。Struts2是一个基于MVC(Model-View-Controller)设计模式的框架,它的...
1. **配置文件**:MyBatis的配置文件主要包括数据源、事务管理器、类型别名、映射文件等配置信息。 ```xml ${driver}"/> ${url}"/> ${username}"/> ${password}"/> ``` 2. **映射...
传智播客 struts2详细课件.ppt
《毕向东传智播客详细笔记》是一份深入浅出的Java学习资源,由知名IT教育专家毕向东在传智播客的授课内容整理而成。这份笔记以丰富的图文并茂的形式,为Java初学者提供了全面而细致的学习路径,是网络教学的优秀参考...
**传智播客FCKeditor笔记** FCKeditor是一款开源的网页文本编辑器,它允许用户在网页上编辑内容,类似于Microsoft Word的功能,但适用于Web环境。这款编辑器以其丰富的功能、良好的兼容性和易于集成而受到开发者的...
"传智播客JS笔记"提供了一套全面且易于理解的学习资源,特别适合初学者掌握JavaScript的基础和核心概念。以下是对笔记中可能包含的重要知识点的详细解释: 1. **变量与数据类型**:JavaScript 支持动态数据类型,这...
传智播客struts2_3(拦截器_文件上传_输入验证_国际化).ppt
自学传智博客struts2-黎活明-源码-第01讲_01介绍struts2及struts2开发环境的搭建_DemoStruts2.rar; 笔记地址:http://www.guloulou.com/?p=1253