类型转换:
问题:表单提交过去的都是String类型,如何转换为formbean中的类型?
struts针对大多数类型都支持,如果是自定义的类型该如何处理
方法1:写一个servlet在init方法中注册,容器一加载就注册
方法2:写一个自己的action继承ActionServlet , 覆盖actionServlet的initOther()方法
第一步,调用父类的initOther()方法
第二步:添加自己的注册 如:
protected void initOther() throws ServletException {
super.initOther();
ConvertUtils.register(new UtilDateConverter(), java.util.Date.class);
}
注意:UtilDateConverter是自己写的一个类型转换类,必须实现struts中的convert接口
第三步:容器启动的时候加载的不再是struts中的actionServlet,而是自己定义的actionServlet
自定义的actionservlet继承了structs中的actionServlet中的所有方法
注意:这种方法有些书上不推介使用
方法三:struts 提供了扩展机制
第一步:
public class UtilDateConverterPlugIn implements PlugIn {
public void destroy() {
}
public void init(ActionServlet servlet, ModuleConfig config)
throws ServletException {
ConvertUtils.register(new UtilDateConverter(), java.util.Date.class);
}
struts提供了PlugIn接口,实现这个接口,
第二步:配置struts.config.xml文件
<plug-in className="com.cs.util.UtilDateConverterPlugIn"></plug-in>
作用:在actionServlet启动后就加载plugIn指定的类
( 推介使用struts的这个扩展机制)
public class UtilDateConverter implements Converter {
public Object convert(Class type, Object value) {
if (value == null) {
return null ;
}
if (value instanceof java.util.Date) {
return value ;
}
if (value instanceof java.lang.String) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss") ;
try {
return sdf.parse((String)value) ;
} catch (ParseException e) {
e.printStackTrace();
}
}
return null;
}
}
分享到:
相关推荐
在Struts2中,类型转换器(Type Converter)是框架的一个关键特性,用于处理Action类中属性的自动类型转换。这个特性使得开发者无需手动进行数据类型之间的转换,从而提高了开发效率和代码的可读性。 标题中的...
类型转换在Struts2中主要通过实现ognl.TypeConverter接口来完成。当需要自定义转换器时,你需要创建一个类并实现这个接口,提供convertFromString和convertToString两个方法,分别处理字符串到目标类型的转换和目标...
本文主要介绍Struts1和Struts2中的自定义类型转换器,并探讨其实现机制。 #### 二、Struts1中的自定义类型转换器 在Struts1中,自定义类型转换器主要是通过继承`com.sun.org.apache.commons.beanutils.Converter`...
在Struts2中,类型转换和国际化是两个重要的特性,用于处理数据类型之间的转换以及多语言环境下的内容显示。 **类型转换**是Struts2处理请求参数与Action类属性之间数据类型不匹配的过程。当用户通过表单提交请求时...
本篇文章将深入探讨Struts2中的类型转换机制,包括常规类型转换、自定义类型转换以及错误处理。 首先,我们来看**常规类型转换**。Struts2框架内建了一套完整的类型转换器,能够自动处理常见数据类型,如String、...
本篇文章将深入探讨如何在Struts2中处理这些类型的错误,特别是关于时间转换的错误。 1. **类型转换错误概述** 类型转换错误通常发生在Action类中的属性与用户提交的数据类型不匹配时。例如,如果你有一个`java....
在这个"struts2简单实例(类型转换)"中,我们将探讨Struts2如何处理不同类型的数据转换,以及如何创建一个简单的演示应用。 首先,让我们理解什么是类型转换。在Web应用程序中,用户通过表单提交的数据通常是字符...
本篇文章将深入探讨Struts2中的类型转换机制。 1. **类型转换的概念** 类型转换是指将一个数据类型的值转换为另一个数据类型的过程。在网络请求中,用户输入的数据通常是字符串类型,而服务器端的Action类属性可能...
Struts2是一个强大的Java web框架,它为开发者提供了丰富的功能,包括类型转换、拦截器和校验机制。本文将深入探讨这些关键知识点,并通过实际例子来帮助你理解它们的工作原理和应用。 首先,我们来看看**类型转换...
在Struts2中,类型转换是处理用户输入数据的关键环节,它允许开发者将前端表单提交的数据转换为服务器端可处理的类型。在本案例中,我们将深入探讨“struts2注册转换器”,特别是如何将特定的日期格式如"20110202...
类型转换器(Converter)在Struts2中扮演着关键角色。它们负责将请求参数转换为特定类型的Java对象,以便于在业务逻辑层处理。例如,用户可能通过表单提交一个字符串,而Action类中对应的属性可能是整数类型。默认...
本练习主要关注如何在Struts2中实现自定义的数据类型转换,以满足特定业务需求。 首先,我们需要了解Struts2的数据转换机制。当用户提交表单数据时,Struts2会通过ActionContext获取到这些数据,并尝试将其转换为...
这篇博客“Struts2数据类型转换器”可能深入探讨了这个主题,虽然具体的细节无法在此给出,但我们可以根据Struts2中数据类型转换的工作原理来展开讨论。 在Java Web开发中,用户通过表单提交的数据通常是字符串形式...
熟悉和掌握Struts2自定义类型转换。 熟悉和掌握Struts2内建校验的操作方法 实验环境与设备: 已经接入局域网的网络实验室,机器上装有IE浏览器等; strtus2.5.8 实验内容: (1) 编写一个...
在实际开发中,有时我们需要对默认的类型转换器进行扩展,以满足特定的数据转换需求,例如将前端传入的字符串转换为Date类型。这就是"struts2自定义类型转换器"的主题。 首先,理解Struts2的类型转换机制。当Struts...
struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换
要使用Struts的日期转换器,首先你需要在Action类中定义一个日期类型的属性,并为其添加相应的注解`@DateTimeFormat`,或者在Struts配置文件中定义一个转换器。`@DateTimeFormat`注解允许你指定日期的输入格式,这样...
Struts2提供了一些工具类和方法来辅助类型转换,比如`FieldError`用于记录转换失败的字段和错误信息,`ValueStack`提供了`convertValue`方法进行转换,以及`ActionContext`中的`getValueStack`方法获取当前栈顶的`...