`
wlh269
  • 浏览: 455793 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

深入理解ActionForm

阅读更多
1、动态ActionForm
* 动态ActionForm是为了避免标准ActionForm膨胀而设计的,使用动态ActionForm可以
得到标准ActionForm的所有功能
* 在struts-config.xml文件中定义动态ActionForm,如:
<form-beans>
<form-bean name="dynaForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String" />
<form-property name="age" type="java.lang.Integer"/>
</form-bean>
</form-beans>
*在Action中使用动态ActionForm,参见DynaActionFormTestAction.java
DynaActionForm daf = (DynaActionForm)form;
String name = (String)daf.get("name");
Integer age = (Integer)daf.get("age");

动态ActionForm其实是把页面中的html元素的名字和值放到了map中,所以通过get方法可以取出相应的值
动态ActionForm采用EL表达式的输出方式,${dynabean.map.prop}, 参见:dyan_actionform_success.jsp
动态Action的验证,通常使用动态验证框架validator
-----------------------------------------------------------------------------------------------
2、采用struts上传
* 页面中的配置如下:
<form action="upload.do" method="post" enctype="multipart/form-data">
</form>
* 在ActionForm中使用FormFile来接收上传的文件,参见:UploadActionForm.java
* 在Action中调用FormFile取得上传文件数据,采用流输出,完成上传,参见:UploadTestAction.java

上传文件大小的设置:<controller maxFileSize="300M"/>

在接收页面如何获得上传文件的属性:
${ActionForm的id.FormFile的id.FormFile中封装的属性名}
参加:upload_success.jsp
-----------------------------------------------------------------------------------------------
3、测试ActionForm类型的自动转换
* boolean:yes,1,on,true都会转换成True类型,而且忽略大小写,其他情况转换成false
* Date类型的转换:
* 如果是java.sql.Date,页面日期的格式必须为yyyy-mm-dd,才可以转换
* 如果是java.util.Date,默认情况下struts无法转换

* 自定义转换器的实现步骤
* 实现converter接口,实现convert方法
* 将实现的conerter注册,通常情况采用servlet注册
* 采用servlet注册需要注意标签的配置,<load-on-startup>10</load-on-startup>(也可以采用struts plugin注册)

4、空字段问题
* 如果html没有写input输入域,jsp脚本接收到的值为null,el表达式则为空串
* 如果html中存在input输入域,没有输入值,那么jsp脚本和el表达式接收到的都是空串 



分享到:
评论

相关推荐

    ActionForm

    【ActionForm】是Java Web开发中的一个概念,主要在Struts框架中被广泛使用。...ActionForm在Struts的MVC设计模式中扮演着...通过阅读和理解这些文件,可以更深入地了解Struts框架的工作原理以及如何自定义和扩展其功能。

    [摘]Struts 学习笔记之ActionForm

    - 通过阅读Struts的源码,可以更深入理解ActionForm的工作原理,例如`ActionServlet`如何调用`RequestProcessor`处理请求,以及`ActionForm`如何参与其中。 了解并熟练掌握ActionForm的使用对于进行Struts开发至关...

    Struts Hibernate Spring 集成开发宝典 actionform

    本集成开发宝典主要关注如何将这三者有效地结合,以ActionForm为切入点,深入讲解它们的整合过程。 Struts 是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,它主要用于控制应用的流程,处理用户请求...

    ActionForm里的get和set方法

    本篇文章将深入探讨ActionForm中的get和set方法及其作用。 1. **ActionForm基础** ActionForm是Struts框架中的一个接口,实现了Servlet API中的HttpServletForm接口。它的主要目的是封装HTTP请求中的参数,将这些...

    strutsactionform

    在深入理解ActionForm之前,我们需要了解Struts架构的基本概念:模型(Model)、视图(View)和控制器(Controller)。Struts作为MVC(Model-View-Controller)框架,旨在简化Java Web应用程序的开发。 1. **Struts...

    struts1使用actionform实现表单验证

    在本文中,我们将深入探讨如何利用ActionForm实现表单验证,并在验证失败时追加错误信息。 1. **ActionForm介绍** ActionForm对象与用户提交的表单对应,它包含一系列属性,这些属性通常与HTML表单中的字段一一...

    STRUTS图书馆管理系统

    - 深入理解ActionForm,以及它在数据验证中的作用。 - 探索数据库设计,理解数据操作的实现。 通过分析和实践"STRUTS图书馆管理系统",开发者不仅可以掌握Struts的基本用法,还能进一步了解Web应用的开发流程,...

    struts课堂资料\第五章(动态ActionForm与控制器)

    在"第五章(动态ActionForm与控制器)"的课堂资料中,我们将深入理解Struts框架中的关键概念,特别是ActionForm和控制器的动态使用。 一、ActionForm类 ActionForm是Struts框架中的表单bean类,用于接收用户在JSP页面...

    struts基础教程

    深入了解ActionForm的使用方法及其在Struts中的作用。 **5.6 分离Book和BookForm** 示例如何将实体类和表单数据分离,提高代码的可读性和可维护性。 综上所述,Struts是一个强大的Web应用开发框架,它提供了一...

    struts课堂资料\第五章(动态ActionForm与控制器)2

    在深入学习Struts的过程中,理解ActionForm、ValidatorForm与控制器之间的关系至关重要。它们共同协作,确保了数据的有效传递和处理,同时也简化了开发者的工作。通过实践,你可以进一步提高对Struts框架的理解,...

    Struts中不同的Action和ActionForm组合.rar

    Struts框架是Java Web开发中的一个经典MVC(Model-View-...理解和熟练掌握它们的组合使用方式,对于提升开发效率和应用质量具有重要意义。通过阅读提供的PDF文档,你可以深入学习这些概念并在实践中灵活运用。

    Struts1框架执行原理(附Action、ActionServlet、ActionForm工作机制)

    通过了解这些基础知识,我们可以更好地理解Struts1的架构,为学习更高级的框架如Struts2打下坚实的基础。Struts1虽然现在已被更新的技术如Spring MVC所取代,但其设计理念和工作原理仍然是现代Web开发中的宝贵知识。

    《strut1深入浅出》书中全部源代码

    这本书《Struts1深入浅出》的源代码提供了全面的示例,帮助读者深入理解Struts1的工作原理和实际应用。 在Struts1框架中,核心组件包括ActionForm、Action、Controller以及一系列的配置文件,如struts-config.xml。...

    Validator验证框架 回顾ActionForm的表单验证,掌握Validator验证框架.zip

    本教程将通过回顾ActionForm的表单验证方式,深入探讨如何有效地掌握Validator验证框架。 ActionForm是早期ASP.NET MVC框架中用于处理表单提交的类,它包含了验证逻辑,但随着技术的发展,现在更多地推荐使用...

    struts深入理解

    ### Struts深入理解 #### 一、Struts框架概述与架构模式 Struts是一个开源的MVC(Model-View-Controller)框架,用于构建企业级的Java Web应用程序。它采用了Model 2架构模式,该模式将用户界面逻辑与业务逻辑分离...

    《深入浅出struts》 源代码

    《深入浅出Struts》这本书是针对这个框架的详细指南,提供了深入的理解和实践指导。源代码通常包含了书中所讲解的实际应用示例,便于读者理解和学习。 在提供的压缩包文件中,我们可以看到以下内容: 1. **win-...

    strut深入的学习

    本篇文章将深入探讨Struts的核心概念、组件以及如何使用Struts进行实际开发,帮助你从新手到熟练掌握Strut框架。 首先,我们需要理解Struts的架构。Struts的核心是ActionServlet,它是Servlet的一种实现,负责处理...

    SSH架构SSH架构

    Struts基于Model-View-Controller(MVC)设计模式,它通过ActionForm对象收集用户输入,Action类处理业务逻辑,最后将结果传递给JSP视图进行展示。Struts提供了拦截器(Interceptor)机制,可以实现如验证、日志等...

    深入Struts 1.1

    论Struts 1.1框架的关键特性及其...通过深入理解Struts 1.1的组件和工作原理,开发者可以更好地构建可扩展、可维护的大型企业级应用。在实际开发中,正确地使用Struts 1.1的各种特性,能够显著提升开发效率和应用质量。

Global site tag (gtag.js) - Google Analytics