测试ActionForm类型的自动转换
*boolean:yes,1,on,true都会转换成true类型,而且忽略大小写,其让情况转换成false
*Date类型的转换:
*如果是java.sql.Date,页面日期的格式必须为yyy-MM-dd, ,才可以转换
*如果是java.util.Date,默认情况下struts无法转换
*自定义转换器的实现
*实现converter接口,实现convet方法
*将实现的converter注册,通常情况下采用servlet注册
*采用servlet注册需要注意标签的配置,<load-on-startup>10</load-on-startup>
index.jsp
<li>测试struts的类型转换器</li>
<form action="type_convert.do" method="post">
intValue:<input type="text" name="intValue"/><br>
doubleValue:<input type="text" name="doubleValue"/><br>
booleanValue:<input type="text" name="booleanValue"/><br>
java.sql.date:<input type="text" name="sqlDate"/><br>
java.util.date:<input type="text" name="utilDate"/><br>
<input type="submit" value="提交"/><br>
</form>
<方法一>
UtilDateConverterInitWithServlet .java
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.commons.beanutils.ConvertUtils;
public class UtilDateConverterInitWithServlet extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("UtilDateConverterInitWithServlet.init()");
ConvertUtils.register(new UtilDateConverter(), java.util.Date.class);
}
}
web.xml
<servlet>
<servlet-name>UtilDateConverterInitWithServlet</servlet-name>
<servlet-class>com.hugui.struts.UtilDateConverterInitWithServlet</servlet-class>
<load-on-startup>10</load-on-startup>
</servlet>
<方法二>
UtilDateConverterInitWithPlugin .java
import javax.servlet.ServletException;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;
public class UtilDateConverterInitWithPlugin implements PlugIn {
public void destroy() {
// TODO Auto-generated method stub
}
public void init(ActionServlet servlet, ModuleConfig config)
throws ServletException {
System.out.println("UtilDateConverterInitWithPlugin.init()");
ConvertUtils.register(new UtilDateConverter(), java.util.Date.class);
}
}
struts-config.xml
<plug-in className="com.hugui.struts.UtilDateConverterInitWithPlugin"></plug-in>
分享到:
相关推荐
在IT行业中,数据类型的转换是一项基础且至关重要的任务。...通过对这个压缩包的学习,开发者可以深入理解Struts1框架的工作原理,同时也能掌握自定义转换器的设计与实现,这对个人技能提升和团队协作都是大有裨益的。
ActionForm在Struts的MVC设计模式中扮演着关键角色,它是Model的实现,负责封装请求参数。 在Struts框架中,当用户提交一个表单时,数据会被发送到对应的ActionForm实例。ActionForm类通常包含与表单字段相对应的...
总之,Struts类型的转换是其核心功能之一,通过自定义转换器、`PropertyEditor`和`BeanWrapper`等方式,可以有效地处理不同类型的数据转换。此外,Struts的标签库简化了页面开发,增强了数据的传递和处理能力。理解...
在Struts 2.0框架中,转换器(Converter)扮演...通过自定义转换器,开发者可以有效地处理各种类型的数据,提升应用程序的健壮性和用户体验。对于深入理解Struts 2的工作机制,掌握转换器的使用和实现是非常有帮助的。
类型转换在WebWork中通过`ConversionAwareActionForm`和`TypeConverter`接口实现。当一个ActionForm接收到请求参数时,WebWork会尝试找到相应的TypeConverter来处理这个转换。TypeConverter是WebWork中负责将一个...
4. **类型转换**:Struts框架提供了TypeConverter机制,使得不同类型的数据可以自动转换为ActionForm所需的类型。在动态ActionForm中,我们需要理解如何自定义TypeConverter以便处理各种数据类型。 5. **验证逻辑**...
然而,这种转换器对每个实例来说是不可配置的,意味着你不能针对特定的ActionForm实例自定义转换规则。如果你需要更复杂的转换逻辑,比如处理特殊的日期格式或自定义的业务类型,那么你可能需要自定义一个转换器并...
总之,理解并掌握Struts1中的时间转换是Java Web开发中的基础技能,它涉及到框架配置、自定义转换器编写、日期处理以及国际化等多个方面。通过深入研究这个示例,你可以更好地理解和应用这些概念。
Struts提供了`ConvertUtils`工具类,可以注册自定义的转换器来处理特定类型的转换。 例如,对于日期类型,你可以创建一个实现了`Converter`接口的`UtilDateConverter`类: ```java public class UtilDateConverter...
- 通过自定义转换器可以集中管理日期类型的转换逻辑,避免了重复代码的出现。 - 提高了程序的健壮性和可读性。 5. **缺点**: - 相比直接在`Action`中进行类型转换,增加了额外的类和配置。 - 对于简单的项目来...
- **自定义转换器**:你可以为Date类型创建一个自定义的Converter,实现`org.apache.struts.action.Converter`接口,并在Struts配置文件中指定这个转换器用于处理Date类型的字段。 - **使用PropertyEditor**:在...
1. 使用Struts的`PropertyEditors`:Struts提供了一套自定义属性编辑器(PropertyEditor)机制,可以注册并使用自定义的编辑器来处理特定类型的转换。例如,我们可以创建一个自定义的日期编辑器,实现`java.beans....
此外,开发者还可以自定义类型转换器,通过实现Converter接口并注册到Struts配置中,以处理特定类型的转换需求。 四、JFreeChart使用 JFreeChart是一个用于生成图表的Java库,它在Struts应用中常用于生成动态报表和...
- **自定义类型转换器**:Struts2允许开发者通过实现TypeConverter接口来实现对特定类型的转换。 #### 五、最佳实践 为了更好地利用Struts2的强大功能,以下是一些最佳实践建议: - **模块化设计**:将应用划分为...
通过实现`org.apache.struts.action.ActionConverter`接口,你可以创建自己的转换器来处理特定类型的表单数据。转换器在ActionForm中处理用户的输入,确保数据类型的一致性。 5. **Token机制**: Token机制主要...
在“06-Struts2的转换器与验证框架”中,你可能将了解到如何定义自定义转换器来处理特定类型的输入,以及如何配置和编写验证规则,确保数据的正确性。这包括理解ActionForm的概念,熟悉struts.xml配置文件,以及使用...
5.4.3 配置框架使用自定义转换器 103 5.5 小结 106 第三部分 构建视图——标签和结果 第6章 构建视图——标签 108 6.1 入门 108 6.1.1 ActionContext和OGNL 109 6.1.2 虚拟对象ValueStack 111 6.2 Struts 2标签概要...
- **自定义转换**: 对于复杂的对象类型转换,需要自定义转换器,并在配置文件中指定。 - 配置文件格式:`属性名 = 转换类全限定名` - 类必须继承`TypeConverter`或`StrutsTypeConverter`。 - **示例**: 页面表单中...
类型转换方面,Struts1的ActionForm属性通常是字符串,依赖于Commons-Beanutils进行类型转换,转换器配置不够灵活。Struts2则使用OGNL进行类型转换,提供更强大的内置转换器。 最后,在验证功能上,Struts1支持在...