Struts Action ActionForm 分类
ForwardAction:
ForwardAction作用:就是为一个单独jsp文件配置一个别名,程序开发中有部分人提出这么一个概念:将程序中所有的JSP文件存放在WEB-INF下,之后每个JSP页面之前不能直接联系。
a.jsp -> *.do -> b.jsp
ForwardAction的配置只需要在struts-config.xml中配置完成。
<action path="/hel" type="org.apache.struts.actions.ForwardAction"
parameter="/WEB-INF/AdvToken.jsp" />
DispatchAction:
通过form的hidden域或action=*.do?传递,例如:
<input type="hidden" name="status" value="insert" />
struts-config.xml中配置action,加个parameter="status"属性
<action
attribute="demoForm"
input="/form/demo.jsp"
name="demoForm"
path="/demo"
scope="request"
type="com.metarnet.han.struts.action.DemoAction"
parameter="status" />
DemoAction extends DispatchAction 中方法名使用
form的hidden域或action=*.do?传递的status的value的名称。
动态ActionForm: org.apache.struts.action.DynaActionForm
不用生成Form文件,Form的属性通过struts-config.xml中的form bean设置,如下:
<form-bean name="mldnForm" type="org.apache.struts.action.DynaActionForm" >
<form-property name="name" type="java.lang.String"></form-property>
<form-property name="password" type="java.lang.String"></form-property>
</form-bean>
Action中 使用demoForm.getString("name") 取值。
动态可验证ActionForm:org.apache.struts.validator.DynaValidatorForm
不仅不用生成Form文件,还可以给Form验证,Form的属性通过struts-config.xml中的form bean设置,
如下:
<form-bean name="hanForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="password" type="java.lang.String" />
<form-property name="name" type="java.lang.String" />
</form-bean>
使用验证插件,新建Struts 1.3 Plugin,struts-config.xml中内容如下:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
struts 1.3中WEB-INF下没有validator-rules.xml,我从struts 1.3 lib ->struts-core ->
-> org.apache.struts.validator下复制到WEB-INF下面的。
/WEB-INF/validation.xml内容:
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">
<form-validation>
<formset>
<form name="hanForm">
<field property="name" depends="required">
<arg key="err.name" resource="true" />
</field>
<field property="password" depends="required" >
<arg key="err.password" resource="true" />
</field>
</form>
</formset>
</form-validation>
ApplicationResources.properties 中对应:
err.name = \u59D3\u540D
err.password = \u5BC6\u7801
errors.required = {0} \u4E0D\u80FD\u4E3A\u7A7A\uFF01\uFF01\uFF01~~~~
Action中 使用demoForm.getString("name") 取值。
分享到:
相关推荐
在Struts中,ActionForm类是处理用户输入数据的核心组件,它封装了请求参数并负责业务逻辑验证。本文将详细讨论如何在Struts中使用ActionForm的`validate`方法进行数据验证。 `validate`方法是在ActionForm中定义的...
它继承自org.apache.struts.action.ActionForm接口,并包含多个字段来存储表单中的数据。当用户提交表单时,Struts框架会自动将表单数据填充到ActionForm实例中。 为了提交多行数据,我们通常会在HTML页面中使用多...
1. **Struts架构**:讲解Struts的核心组件,如Action、ActionForm、ActionServlet、配置文件(struts-config.xml)以及它们之间的交互机制。 2. **MVC设计模式**:解释MVC模式的基本概念,如何在Struts中实现模型、...
ActionForm是Struts1中处理用户输入的核心组件,它负责接收、验证和封装来自表单的数据。在本文中,我们将深入探讨如何利用ActionForm实现表单验证,并在验证失败时追加错误信息。 1. **ActionForm介绍** ...
在这个名为“Struts中不同的Action和ActionForm组合.rar”的压缩包中,主要探讨的是Struts框架中Action和ActionForm的组合使用方式,以及它们在处理用户请求和数据验证过程中的作用。以下是对这个主题的详细解释。 ...
ActionForm类通常继承自Struts提供的抽象类`org.apache.struts.action.ActionForm`,并定义了对应的属性来存储表单字段。当用户提交表单时,Struts框架会自动将请求参数绑定到ActionForm对象的属性上。这个过程被...
ActionForm类通常由开发者自定义,继承自Struts提供的抽象类`org.apache.struts.action.ActionForm`。在这个类中,我们可以定义字段来存储用户输入的数据,这些字段需要有对应的getter和setter方法。例如: ```java...
1. **配置Struts**: 配置struts-config.xml,定义Action和ActionForm,以及它们之间的映射关系。 2. **配置Spring**: 创建Spring的配置文件,如applicationContext.xml,声明并配置所需的Bean,包括Action、...
本篇文章将深入解析Struts1框架的执行原理,以及Action、ActionServlet、ActionForm三个关键组件的工作机制。 首先,我们来看Struts1的工作流程: 1. 用户通过浏览器发起HTTP请求,请求的目标是应用中的一个JSP或...
Struts In Action 这本书会详细解释Struts的各个组件及其工作原理,包括Action、ActionForm、ActionMapping、RequestProcessor等。同时,书中也会涵盖如何配置Struts,如编写struts-config.xml文件,以及如何创建...
在传统的Struts应用中,每个Action通常与一个特定的ActionForm关联,这可能导致ActionForm类的数量随着功能的增加而迅速增多,从而增加了代码的复杂性。动态ActionForm则旨在解决这个问题,它允许我们在运行时动态地...
ActionForm在早期的Struts1中被广泛用于接收和验证用户输入,但在Struts2中,这个概念已经被更先进的模型驱动机制所取代。不过,这里提到的"ActionForm自动填充表单"可能是指Struts2中的一种特性,即模型驱动...
3. **ActionForm**:在Struts 1中,ActionForm用于收集和验证用户输入的数据。在Struts 2中,这些功能被移到了Action类或者ActionSupport基类中。 4. **结果类型**:Action执行后,可以通过Result来决定如何显示...
StrutsAction是一个基于Java EE平台的MVC框架——Apache Struts中的核心组件。这个最简单的Struts例子展示了如何使用Action和ActionForm来实现一个基本的Web应用。在Struts框架中,Action是业务逻辑处理的主要类,而...
Struts是Java Web开发中的一个开源框架,主要负责控制应用程序的流程,而Action技术是Struts的核心组件之一,用于处理用户的请求。在这个场景中,我们讨论的是如何利用Struts的Action来实现对数据库数据的增删改查...
- **配置Struts-config.xml**: 这是Struts的核心配置文件,用于定义Action映射、ActionForm绑定、结果页面等信息。 - **设计视图**: 使用JSP或FreeMarker等模板技术创建视图页面,通过Struts标签库与Action进行交互...
3.1 struts-config.xml:这个配置文件是Struts的核心配置,它定义了ActionServlet如何处理请求,包括ActionForm、Action、ActionMapping和Forward等元素。动态ActionForm的配置通常涉及在此文件中设置动态的form-...
Struts ActionServlet控制器对象 8 Struts Action Classes 8 Struts Action Mapping 9 使用ActionForward导航 10 Struts ActionForm Bean捕获表单数据 11 Struts的其他组件 12 Validation Framework for ...
4. **Action和ActionForm**:Action是Struts的核心,负责处理用户请求并调用业务逻辑;ActionForm则用于在Action和视图之间传递数据。书中会详细讲解如何创建和配置这两个关键组件。 5. **国际化和本地化**:Struts...