`

ActionForm作用及表单验证

阅读更多

Struts框架中的视图组件主要包括:
1.JSP页面。
2.ActionForm类
3.Struts自定义标记
4.消息资源
        其中,ActionForm类是Struts框架的核心组件之一,是Struts的关键视图组件。

 

ActionForm的作用机理:
ActionForm本质上是一种JavaBean,是专门用来传递表单数据的DTO(Data Transfer Object,数据传递对象)。它包括用于表单数据验证的validate()方法和用于数据复位的reset()方法。
Struts框架利用ActionForm对象来临时存放视图页面中的表单数据。例如,一个登录页面会有一个用户名输入框和一个密码输入框,以及用来提交登录请求的按扭。当用户提交登录请求后,Struts将 用户名和密码两个输入域的数据自动填充到相应的ActionForm对象中,然后控制层可以从该ActionForm对象中读取用户输入的表单数据,也可以把来自模型层的数据存放到ActionForm中,然后返回给视图显示。

ActionForm有(request)和(session)两种作用域(scope)。如果ActionForm的作用域设定为request,ActionForm实例将保存在request对象中,像其他保存在request对象中的属性一样,仅在当前请求范围内有效。如果ActionForm的作用域设定为session,那么ActionForm实例将被保存在session对象中,同一个ActionForm实例在整个HTTP会话中有效。

 

      当验证ActionForm时,如果检测到一个或多个验证错误,Struts框架会把错误转发回配置文件struts-config.xml中<action>元素的input属性所指定的输入页面。

 

ActionForm的使用方法:
下面通过在(Struts重构)构建一个简单的基于MVC模式的JavaWeb的例子,来介绍一下ActionForm的正确使用,包括如何创建,配置和访问。
1.创建ActionForm
可以扩展Struts软件包的ActionForm类来创建具体的ActionForm。Struts软件包中的ActionForm类本身 是一个抽象类,在扩展的时候,为每一个要从HTML表单中捕获的输入域定义一个属性,使表单输入域与ActionForm属性一一对应,以使ActionForm能够捕获需要的表单输入。定义了具体的属性,就可以覆盖父类 的validate()和reset()方法,来实现具体的ActionForm验证规则和初始化方法。

 

package struts.form;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

/** 
 * Struts框架的ActionForm对象,它可用来在用户和业务层之间舆用户的输入数据。
 * ActionForm也叫FormBean.Struts框架会自动从请求中惧输入数据,再将 这些
 * 数据交给一个使用FormBean的Action对象,接着FormBean可以再交给业务层
 */
public class LoginHandlerForm extends ActionForm {

     private String userName;

    private String userPwd;

    //验证方法,主要用于验证视图上的数据,例如非空之类,
    //如果要进行业务验证,则应该在Action中进行!
    public ActionErrors validate(ActionMapping mapping,
             HttpServletRequest request) {
        
        return null;
     }
    //初始化首先调用的方法
    public void reset(ActionMapping mapping, HttpServletRequest request) {
        // TODO Auto-generated method stub
     }

    public String getUserName() {
        return userName;
     }

    public void setUserName(String userName) {
        this.userName = userName;
     }

    
    public String getUserPwd() {
        return userPwd;
     }

    public void setUserPwd(String userPwd) {
        this.userPwd = userPwd;
     }
}

 

在以上的loginActionForm中,validate()方法和reset()方法是ActionForm中两种可以覆盖的方法。validate()方法中定义具体的ActionForm验证规则。

分享到:
评论

相关推荐

    struts1使用actionform实现表单验证

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

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

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

    Struts2框架ActionForm自动填充表单

    在实际开发中,你可能还会结合其他Struts2的特性,比如`Validation`(验证)和`Result`(结果类型),来实现更复杂的功能,如表单验证、错误处理和页面跳转。例如,你可以定义一个Validator规则文件来指定表单字段的...

    Struts_学习笔记之ActionForm

    DynaActionForm继承自ActionForm,提供了动态Bean的功能,而ValidatorForm继承自ActionForm,提供了表单验证功能。 2. ActionForm的方法 ActionForm提供了两个重要的方法:reset()和validate()。reset()方法用于...

    关于struts表单验证

    本文将详细讲解Struts中的表单验证机制,包括ActionForm Bean的使用、validate()方法和reset()方法,以及如何处理验证错误。 首先,ActionForm Bean是Struts框架中用于存储和管理用户输入数据的Java对象。它需要...

    验证ActionForm存到了request中

    首先,我们需要理解ActionForm的作用。在用户提交一个HTML表单后,Struts框架会创建一个ActionForm实例,并将表单数据填充到这个实例的属性中。ActionForm类通常包含与表单字段对应的属性和getter、setter方法。例如...

    Struts动态表单验证

    通过阅读源代码和运行示例,你可以看到如何在实际环境中实现动态表单验证,包括配置文件、Action类、ActionForm以及相关的JSP页面。 8. **最佳实践** - 将验证逻辑从ActionForm中分离出来,使代码更清晰。 - 使用...

    struts表单验证讲解视频教程

    在Struts中,表单验证通常是通过ActionForm对象来实现的。ActionForm是业务逻辑层和表现层之间的桥梁,用于收集和验证用户输入的数据。当用户提交表单时,这些数据会被封装到ActionForm对象中,然后框架会根据预先...

    ActionForm

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

    myeclipse 6.5 + struts2 +ajax 实现表单注册验证源码

    Struts2框架提供了ActionForm和Validator插件等手段来实现表单验证。 5. **JavaScript与JSON**:在Ajax中,JavaScript通常用于处理客户端的逻辑,包括发送Ajax请求、处理服务器返回的数据。JSON(JavaScript Object...

    Struts1.2动态表单验证

    在Web开发中,表单验证是一个关键环节,它确保用户输入的数据符合预设的规则,从而保护系统免受恶意攻击并提高数据质量。Struts1.2提供了动态表单验证功能,使得开发者能够更灵活、高效地处理用户输入验证。 动态...

    Struts动态表单验证Demo视频

    在Struts框架中,动态表单验证是一个关键特性,用于确保用户输入的数据符合业务规则,从而提高应用的安全性和用户体验。 动态表单验证指的是在运行时根据业务需求动态地生成验证规则,而不是静态地硬编码在程序中。...

    关于struts框架的一个很好的表单验证

    对于压缩包内的“表单验证”文件,可能包含了具体的JavaScript验证代码示例,以及可能的Struts ActionForm验证配置,可以作为学习和实践Struts表单验证的参考资料。 总结来说,Struts框架的表单验证是保证Web应用...

    Struts 表单验证 实例

    为了实现表单验证,我们需要重写`ActionForm`中的`validate()`方法。该方法返回一个`ActionErrors`对象,表示验证过程中发现的错误。如果没有错误,则返回一个空的`ActionErrors`对象。 ```java @Override public ...

    struts 1.2 ActionFrom表单验证

    总的来说,深入理解Struts 1.2的ActionForm表单验证机制,以及它与Spring框架的集成,将有助于提升你在Java Web开发领域的专业技能。这包括熟悉MVC模式、客户端与服务器端验证策略、Struts配置文件、Spring的依赖...

    struts表单验证

    在Struts中,表单验证是确保用户输入数据准确、合法的关键环节。本篇文章将详细探讨如何在Struts中实现表单验证,且不依赖于Struts的自定义标签。 1. **基础概念** - **ActionForm**: Struts的核心组件之一,用于...

    java web ,简化actionform

    本文将深入探讨Struts1框架下如何通过ActionForm简化表单处理,以及实体类与ActionForm之间的交互。 ### 实体类(Entity) 在Struts框架中,实体类(如`userEntity`)用于封装业务数据,是模型(Model)的一部分。...

    Struts简单的Validator 表单验证类

    总的来说,Struts的Validator框架提供了强大的表单验证功能,可以帮助开发者有效地管理和控制用户输入,确保数据的准确性和一致性。通过理解和运用这个框架,可以提升Web应用的质量和用户体验,同时减少服务器端的...

    ActionForm里的get和set方法

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

    Struts1.2动态表单注册 验证实例(1)

    接下来是表单验证。Struts1.2提供了两种验证方式:客户端验证和服务器端验证。客户端验证通常使用JavaScript,可以在用户提交表单前即时检查输入是否符合规则,提高用户体验。服务器端验证则是在服务器接收到请求后...

Global site tag (gtag.js) - Google Analytics