`

Struts笔记(二)ActionForm传递数据

阅读更多
2. ActionForm传递数据

创建一个ActionForm 并不困难,但是你的类必须符合一些要求:
ActionForm 必须扩展自org.apache.struts.action.ActionForm。基类ActionForm 是不能实例化的。

ActionForm 必须为每个应该从请求中收集的HTML输入控件定义一个公共属性。

如果你要求ActionForm 在传递属性到Action之前校验它们,你就必须实现validate方法;

如果想在组装前初始化属性,必须实现 reset , 它在ActionForm 组装前被调用;

下面是一个简单的ActionForm 类:

public class MyForm extends ActionForm {
protected String name;
protected String address;
public String getName()
{return this.name;};
public String getAddress()
{return this.address;};
public void setName(String name)
{this.name = name;};
public void setAddress(String address)
{this.address = address;};


使用DynaActionForm直接在struts-config.xml配置。
<form-bean
name="myForm"
type="org.apache.struts.action.DynaActionForm">
<form-property
name="name"
type="java.lang.String"/>
<form-property
name="address"
type="java.lang.String"/>
</form-bean>


  • ActionForm 作为字段收集器
  • ActionForm 作为数据缓冲,以便在提交之前进行校验
  • ActionForm 作为数据校验器,。ActionForm的validate 方法是一个扩展点,你可以在此插入对
  • 业务方法(它们知道如何校验数据)的调用。当校验失败, ActionForm 可以将整个内容
    都回传给web 页面,这样用户就可以重新尝试。
  • ActionForm 作为类型转换器,在ActionForm中包含一些helper方法,来进行类型转换。helper 方法可以有很多种实现方式。
  • ActionForm 作为传输对象(TO),ActionForm 可以被其它bean或者过程作为数据载体。就是说ActionForm 是一个传输对象(Transfer Object)。HTTP 将每个属性表达为名-值对。
  • ActionForm 作为防火墙,它使你在数据被允许传递到应用的其它部分之前必须检查数据。


Struts 标签扩展有助于根据ActionForm组装HTML 控件。ActionServlet根据HTTP 请求组装ActionForm。
分享到:
评论

相关推荐

    [摘]Struts 学习笔记之ActionForm

    当用户访问/login路径并提交表单时,Struts会自动实例化UserForm,填充用户提交的数据,并将其传递给LoginAction。Action可以通过Form Bean的getter方法获取用户输入,执行验证、业务逻辑等操作。完成后,Action通过...

    达内,tarena,struts笔记,strutsPPT课件,达内struts笔记

    在本套“达内,tarena,struts笔记,strutsPPT课件,达内struts笔记”资源中,我们重点关注的是Struts 1.x版本,这是一个较旧但仍然广泛使用的版本,尤其对于初学者来说,它是理解MVC设计模式和Web开发基础的良好...

    林信良struts笔记

    林信良的Struts笔记无疑为我们提供了一种深入理解Struts框架的途径,尤其对于初学者来说,是一份非常有价值的参考资料。 在Struts框架中,主要包含了以下几个核心组件: 1. **Action类**:Action是业务逻辑处理的...

    struts2学习笔记(完美总结)——转自OPEN经验库

    OGNL是Struts2中用于对象属性访问和表达式语言,它允许在Action、ValueStack和视图层之间传递数据。ValueStack是一个对象栈,它持有ActionContext上下文中的所有对象,包括Action实例、ActionForm、Session、Request...

    struts笔记

    `ActionForm`的实例可以在多个`Action`之间共享,以传递请求数据。 在模型层,Struts并没有强绑定特定的实现,因此可以自由选择DAO(数据访问对象)或Service层来处理业务逻辑和数据操作。Struts的核心设计在于它...

    j2ee平台框架Struts学习笔记

    `struts-config.xml`是Struts的核心配置文件,定义了Action、ActionForm、数据源等信息。此外,`web.xml`也需要配置以启动Struts的ActionServlet。 7. **Struts拦截器** 拦截器是Struts 2引入的一个重要特性,...

    Struts1及14. Struts2学习笔记

    此外,Struts1.x的JSP页面通常会配合使用ActionForm对象来传递和验证用户输入。 **Struts2简介** Struts2是Struts1的升级版,它吸取了其他优秀框架的优点,如Spring、WebWork等,提供更强大的功能和更灵活的配置。...

    Struts 1.3.8 学习笔记(二)

    此外,Struts 还提供了 ActionForm 类,它是 MVC 模式中的模型组件,负责收集和验证来自表单的数据。ActionForm 可以绑定到 JSP 页面上的表单元素,使得数据的验证和传输更加方便。 在工具方面,Struts 1.3.8 提供...

    Struts1学习笔记总结.pdf

    Struts1学习笔记总结 Struts1是一种基于MVC模式的Web应用框架,它可以帮助开发人员快速构建高效、可维护的Web应用程序。下面是对Struts1学习笔记的总结,涵盖了Struts1的基本概念、工作流程、标签、国际化等方面的...

    Struts读书笔记.rar

    Struts的ActionForm 对象是框架用来在用户和业务层之间来回传递数据的。框架会自动收集请求的输入,然后使用from bean 将数据传递给Action,最后再传递给业务层。 对于每一个提交数据的html页面,你应该使用...

    struts学习用笔记

    在Struts中,模型负责业务处理,视图负责数据显示,控制器接收用户请求并调用模型进行处理,然后将结果传递给视图进行展示。 2. **Action类**:在Struts中,Action类是控制器的核心部分,它接收来自用户的请求,...

    struts学习笔记(四)

    ActionForm是用于传递请求参数到Action的载体,它可以封装用户的输入数据。 Struts配置文件是框架的另一个关键部分,通常命名为struts-config.xml。这个文件定义了Action的映射、ActionForm的使用、以及结果页面的...

    Struts 学习笔记

    4. 将ActionForm传递给Action,执行业务逻辑。 5. Action返回一个ActionForward,指示ActionServlet转发或重定向到特定的结果页面。 6. JSP或FreeMarker渲染视图,显示数据。 五、Struts的优缺点 优点: - 结构清晰...

    struts学习笔记

    4. **ActionForm**:ActionForm对象用于封装用户输入的数据,从请求中获取数据并传递给Action进行处理。每个表单对应一个ActionForm,其属性与HTML表单字段相对应。 5. **ActionMapping**:定义了请求URL与Action类...

    struts2学习笔记和源码

    Struts2使用OGNL作为默认表达式语言,用于在Action和View之间传递数据。OGNL可以访问对象图中的任何属性,简化了视图层的数据绑定。 七、Struts2的注解支持 除了XML配置,Struts2还支持注解方式,可以在Action类和...

    Struts学习笔记

    二、Struts架构 Struts架构主要包含以下几个核心组件: 1. ActionServlet:作为Struts的前端控制器,负责处理所有的HTTP请求,解析请求参数,并转发到相应的Action。 2. Action:实现了业务逻辑的类,接收并处理...

Global site tag (gtag.js) - Google Analytics