`

Struts表单数据与ActionForm的转换

阅读更多
首先写一个Converter的类
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.beanutils.Converter;;

public class DataConvert implements Converter {

	public Object convert(Class arg0, Object value) {
		Date date = null;
		if(value instanceof String){
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			try {
				date = sdf.parse((String)value);
			} catch (ParseException e) {
				e.printStackTrace();
			}			
		}
		return date;		
	}

}

再写一个Servlet,并在服务器启动的时候就init()注册DataConvert

public class ConvertRegedit extends HttpServlet {

	private static final long serialVersionUID = 1L;

	public void init() throws ServletException {
		System.out.println("regedit");
		ConvertUtils.register((Converter)new DataConvert(),Date.class);
	}

}

这样表单里面的数据转过来就自动转成java.util.date

使用PlugIn注册
public class PlugInRegedit implements PlugIn {
	public void init(ActionServlet servlet, ModuleConfig config)
			throws ServletException {		
		ConvertUtils.register((Converter)new DataConvert(),Date.class);
	}

	public void destroy() {
		
	}

}

并在配置文件里面配置
<plug-in className="com.langhua.convert.PlugInRegedit"/>

服务器启动的时候就注册了

还有一种最简单的方法就是在set方面里面转换数据
分享到:
评论
2 楼 langhua9527 2009-03-19  
Date.class
superjava 写道

这样加到struts-config.xml里面后,会不会把Form里面的所有string都转换为Date,那岂不是出问题了。怎么解决呢

不会,我用过的,这种只争对java.util.Date类型的才用这个方法
public Object convert(Class arg0, Object value);
1 楼 superjava 2009-03-19  
这样加到struts-config.xml里面后,会不会把Form里面的所有string都转换为Date,那岂不是出问题了。怎么解决呢

相关推荐

    提交多行数据到Struts的ActionForm的List属性中

    在这个例子中,我们展示了如何通过Struts框架将客户端多行数据转换为ActionForm的List属性,以及如何在服务器端处理这些数据。这是一个常见的需求,特别是在处理批量操作或复杂表单时。了解并熟练掌握这种技巧对于...

    Struts高级开发_动态ActionForm.avi

    4. **类型转换**:Struts框架提供了TypeConverter机制,使得不同类型的数据可以自动转换为ActionForm所需的类型。在动态ActionForm中,我们需要理解如何自定义TypeConverter以便处理各种数据类型。 5. **验证逻辑**...

    struts ActionForm

    在早期的Struts 1版本中,ActionForm是MVC设计模式中的Model部分,它作为控制器(Controller)与视图(View)之间的桥梁,负责接收、验证和传递用户提交的数据到业务逻辑层。 ActionForm类通常继承自Struts提供的...

    ActionForm

    2. `ActionFormUtil.java`: 这可能是一个通用的ActionForm辅助类,提供了一些对ActionForm操作的静态方法,比如验证表单数据、填充默认值或进行数据转换等。 3. `config.xml`: 这是一个配置文件,很可能包含了Struts...

    Struts2和Struts1的一些区别

    - **数据绑定机制**:Struts1使用了ActionForm对象来封装表单数据。ActionForm对象通常继承自`ActionForm`基类,并且包含了一些用于验证的默认方法。当表单提交后,Struts1会自动将表单数据填充到ActionForm对象中。...

    struts 类型转换

    无论是哪种方式,一旦表单提交,Struts会自动将请求参数值填充到对应的ActionForm或Action类属性中,这个过程就涉及到了类型转换。 至于标签的使用,Struts提供了一系列的自定义标签,如`html`、`bean`、`logic`等...

    ActionForm里的get和set方法

    ActionForm是Struts框架中一个关键的组件,它充当了Controller与Model之间的桥梁,负责传递用户在表单中提交的数据到业务逻辑层。本篇文章将深入探讨ActionForm中的get和set方法及其作用。 1. **ActionForm基础** ...

    自己写的转换器,包含各种基本的数据类型。

    Struts1框架,作为一个经典的MVC(Model-View-Controller)框架,在处理用户输入与模型数据间的转换时,确实存在一定的局限性,它不像其后续版本Struts2那样内置了丰富的数据类型转换机制。因此,开发者往往需要...

    Struts2和Struts1的不同

    #### 五、表单处理与数据绑定 **Struts1:** Struts1使用ActionForm来处理表单数据,ActionForm本质上是一个JavaBean,它负责收集和验证用户输入的数据。ActionForm还可以利用DynaBeans动态绑定机制来简化数据绑定...

    struts1 时间转换的实现 demo

    这个"struts1 时间转换的实现 demo"很可能是为了展示如何在Struts1中处理时间数据的转换,确保前端与后端之间的时间格式一致性。 在Struts1中,时间转换主要涉及到以下知识点: 1. **Form Bean**:Struts1使用Form...

    Struts2和Struts1的区别,详细点,主要说说Struts2

    - **Struts1**使用ActionForm中的方法来转换表单提交的数据到对应的Java类型,通常通过`String`类型的属性进行转换。 - **Struts2**使用OGNL表达式来进行类型转换,提供了一套更为统一且强大的转换机制,大大简化了...

    struts1和struts2的区别

    描述与部分内客概述了struts1与struts2在架构、处理流程、Servlet依赖、测试、表单处理、表达式语言、页面视图、转换机制、验证机制以及拦截器方面的关键区别。以下是对这些知识点的详细解析: 1. **Action实现**:...

    Struts2与struts1不同

    对于输入数据的处理,Struts1使用ActionForm对象来收集表单数据,ActionForm通常需要继承基类,可能导致过多的类创建。Struts2则直接使用Action的属性作为输入属性,消除了ActionForm的需要,支持富对象类型的属性,...

    struts2 与 struts1的区别

    #### 六、类型转换与校验 - **Struts1** 中的类型转换依赖于Commons-Beanutils库,这通常会导致每个类需要一个特定的转换器,而且转换规则通常是不可配置的。 - **Struts2** 则使用OGNL来进行类型转换,并且为常见...

    struts的总结(struts1.x)

    本文对 Struts 1.x 的核心概念和技术进行了详细介绍,包括配置文件解析、ActionForm 和 DynaActionForm 的使用、数据转换以及表单验证等方面。希望这些内容能帮助读者更好地理解和掌握 Struts 1.x 框架的使用方法。

    struts1.x和struts2.x区别

    Struts1.x使用ActionForm作为表单数据的容器,所有表单数据都会自动绑定到对应的ActionForm对象上。ActionForm必须继承自org.apache.struts.action.ActionForm,并实现相应的验证方法。而Struts2.x则更加灵活,可以...

    struts1和struts2的区别(详细)

    - **Struts1**: Struts1提供了基于ActionForm的验证机制,即ActionForm对象负责收集表单数据并进行验证。虽然这种机制比较直观,但在复杂的表单验证场景下可能显得有些笨拙。 - **Struts2**: Struts2采用了更加灵活...

    HTML标签转STRUTS标签

    STRUTS标签通常与ActionForm、ModelDriven等概念结合,可以更方便地处理表单提交、数据验证、国际化等功能。常见的STRUTS标签有`&lt;s:form&gt;`、`&lt;s:textfield&gt;`、`&lt;s:textarea&gt;`、`&lt;s:submit&gt;`等。 在VS2005中进行HTML...

    struts2(包括增删改查的实现,及登录实现。jdbc连接。适合struts2初学者)

    1. 创建(Create):当用户提交新数据时,Struts2会调用一个特定的Action类方法,该方法负责将表单数据转换为ActionForm对象,然后通过JDBC与数据库交互,将新数据插入到数据库中。 2. 读取(Read):为了显示数据...

    Struts相关资料\beanutils-1.5.rar

    在Struts 1中,ActionForm是一个关键组件,它负责收集并封装来自用户表单的数据,以便在业务逻辑层处理。 在Struts 1中,ActionForm类的属性通常是String类型,这是因为HTTP请求中的数据默认以字符串形式传递。然而...

Global site tag (gtag.js) - Google Analytics