`
hxlzpnyist
  • 浏览: 44128 次
  • 性别: Icon_minigender_1
  • 来自: 信阳
社区版块
存档分类
最新评论

struts2 类型转换之一

 
阅读更多

此处 我们通过简单的例子实现对action下的某个属性字段进行类型转换 

1)输入界面

<form action="userAction.action" method="post">
    	<input type="text" name="birthday" value=""><br>
    	<input type="submit" value="提交">
 </form>

 

2)测试action ----UserAction 仅仅有个类型为Date的birthday属性 

public class UserAction extends ActionSupport{
	private Date birthday;
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	@Override
	public String execute() throws Exception {
		
		return SUCCESS;
	}	
}

 3)struts.xml配置文件 配置action

<action name="userAction" class="com.etc.sky.action.UserAction">
<result>/show.jsp</result>
</action>

 

4)自定义类型转换器类  实现 将表单输入的字符串转化为Date类型/获取birthday值的时候 将其转换为string便于页面显示

public class DateConverstor extends StrutsTypeConverter {

	/**
	 * arg1为表单传入的参数 arg2为arg1需要转换的目标对象类型此处也即为java.util.date
	 * 该方法执行在action为属性注入值之前 即set方法之前
	 * */
	@Override
	public Object convertFromString(Map arg0, String[] arg1, Class arg2) {
		System.out.println(arg1[0]);
		if(arg2==Date.class){
			String birth=arg1[0];
			SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");
			try {
				Date date=sdf.parse(birth);
				System.out.println("convertFromString"+date);
				return date;
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}
		return null;
	}

	/**
	 * arg1为需要进行转换的对象 此处即为date
	 * 该方法执行在获取action属性值后 即get方法之后
	 * */
	@Override
	public String convertToString(Map arg0, Object arg1) {
		if(arg1 instanceof Date){
			SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
			Date date=(Date) arg1;
			String strDate=sdf.format(date);
			System.out.println("convertToString"+strDate);
			return strDate;
		}
		return null;
	}

}

 

5)局部类型转换资源文件配置

命名规则为:要进行类型转换的action名-conversion.properties

内容为:action下要进行类型转换的属性=类型转换器类的全称(包名+类名)

birthday=com.etc.sky.converstor.DateConverstor

 6)显示页面 注意 为了能够正常显示 转换后的信息 必须采用struts标签来读取信息

<s:property value="birthday"/>

 测试 OK.......

分享到:
评论

相关推荐

    struts2类型转换 拦截器 校验的例子

    拦截器是Struts2的核心组件之一,它允许在动作执行前后插入自定义逻辑,比如日志记录、事务管理、性能监控等。Struts2提供了一系列内置的拦截器,如`Params`用于参数解析,`Prepare`用于动作准备,`Validation`用于...

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

    总之,Struts2的类型转换机制是其强大功能之一,它简化了数据绑定过程,使得开发者能够专注于业务逻辑,而不是数据转换的细节。理解并熟练掌握Struts2的类型转换,将有助于提高开发效率和代码质量。在实际项目中,应...

    Struts批量类型转换

    在Struts2中,类型转换是核心功能之一,允许框架自动将HTTP请求参数转换为Action类中的相应属性。这极大地方便了开发过程,减少了手动进行数据验证和类型转换的工作。 类型转换器(Converter)在Struts2中扮演着...

    struts2类型转换深入总结

    作为标签之一,“工具”可能指的是Struts2提供的各种UI组件,如`s:textfield`、`s:checkbox`等,它们在后台自动利用类型转换机制,确保数据绑定的正确性。 总的来说,理解并掌握Struts2的类型转换机制对于开发高...

    [原]Struts2类型转换

    总之,Struts2的类型转换机制是其强大功能之一,它极大地简化了数据绑定和验证的过程,同时允许开发者根据项目的具体需求进行定制化处理。理解和掌握Struts2的类型转换,对于编写健壮且易于维护的Web应用至关重要。...

    struts2全局转换的问题

    在Struts2中,全局转换器(Global Converters)是一个关键特性,它允许开发者为整个应用定义统一的数据类型转换规则,而不是在每个Action类中单独配置。这个特性大大提高了代码的复用性和维护性。 标题“Struts2...

    Struts2之类型转换器的使用案例struts002

    本案例"Struts2之类型转换器的使用案例struts002"深入探讨了如何自定义类型转换器以及在实际应用中的使用。 首先,Struts2框架提供了一系列内置的类型转换器,可以自动处理基本类型和常见类型的数据转换,如String...

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

    类型转换器是Struts2框架的核心组件之一,其主要任务是将用户的输入(通常是字符串)转换为Action类中声明的字段类型。这在处理复杂的数据类型,如日期、枚举或自定义对象时尤其有用,因为默认的转换器可能无法满足...

    struts 2.0 自定义类型转换器 注册类型转换器 入门实例 简单实例

    自定义类型转换器是Struts 2的核心特性之一,允许开发者根据业务需求定制数据转换规则。以下将详细介绍如何创建、注册以及使用自定义类型转换器。 1. **创建自定义类型转换器** - 创建一个类,实现`org.apache....

    第2讲 --Struts2的类型转换

    总结来说,Struts2的类型转换机制是其核心功能之一,它有效地解决了HTTP请求数据与Action属性之间的类型不匹配问题。理解并掌握Struts2的类型转换,对于提升Java web应用的开发效率和质量具有重要意义。通过学习和...

    Struts2 中的类型转换

    1. **ValueStack**:Struts2的核心组件之一,负责管理Action对象和它们的属性。当一个Action被请求时,它的实例会被压入ValueStack,然后可以通过OGNL(Object-Graph Navigation Language)表达式来访问。 2. **...

    struts2数据转换示例

    在描述中提到的"interceptor"文件,很可能包含了关于拦截器(Interceptor)的配置或示例代码,因为拦截器是Struts2中实现类型转换的关键组件之一。 Struts2的拦截器是一种AOP(面向切面编程)的概念,它们可以拦截...

    Struts2视频教程

    - **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。了解如何编写Action类、设置其属性以及处理请求参数至关重要。 - **Result配置**:Result用于指定Action执行后的结果...

    struts2中文学习文档

    在Struts2之前,WebWork是另一个流行的轻量级框架,Struts2在设计上借鉴了很多WebWork的理念和特性,因此可以说WebWork是Struts2的基础之一。 ### Struts2与WebWork的关系 Struts2和WebWork都属于MVC(Model-View-...

    Struts2最佳实践之一-在复杂实体对象中,如何将页面参数转换为实体对象

    Struts2作为一款流行的Java Web框架,其在处理表单提交和实体对象绑定方面提供了强大的功能。本篇文章将深入探讨如何在Struts2中实现从复杂实体对象到页面参数的有效转换,以提升开发效率和代码的可维护性。在实际...

    struts2之xwork

    XWork是Struts2的基础,它提供了一套动作(Action)处理机制,包括拦截器(Interceptor)、配置管理、类型转换和异常处理等关键功能。这些功能在Struts2中扮演着至关重要的角色: 1. **拦截器**:XWork引入了拦截器...

    struts1和struts2的区别

    相比之下,Struts2的Action为每个请求创建一个新的实例,消除了线程安全问题,简化了资源管理。 在Servlet依赖性上,Struts1的Action直接依赖于Servlet API,执行方法接收HttpServletRequest和HttpServletResponse...

    Struts的自定义转换器

    Struts框架是Java Web开发中常用的MVC框架之一,它为开发者提供了强大的控制层支持。在Struts中,数据转换是非常重要的一部分,因为Web表单中的数据类型可能与后端模型类的属性类型不匹配。这时,Struts的转换器...

Global site tag (gtag.js) - Google Analytics