ActionForm生命周期
ActionForm Bean从应用和配置的角度分为两类
动态ActionForm和静态ActionForm都是成对出现的。作用一样,只是实现不一样。
一.静态Form
由程序员手工编写Form
1.ActionForm
提交表单的字段名和form中的属性名一致。
2.ValidatorForm
用于验证框架的Form,在请求参数前,先使用验证框架验证。
在struts-config中对应的action标签的validate值为true。
3.ValidatorActionForm
二.动态Form
通过配置文件完成ActionForm配置
1.DynaActionForm
<form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="username" type="java.lang.String"/>
<form-property name="password" type="java.lang.String"/>
</form-bean>
DynaActionForm lForm = (DynaActionForm)form;
String username = (String) lForm.get("username");
String password = (String) lForm.get("password");
System.out.println("username:"+username+"->"+password);
return mapping.findForward("success");
无法提供默认的验证行为。
2.DynaValidatorForm
和ValidatorForm一样在使用验证框架时使用。配置和DynaActionForm类似。
type="org.apache.struts.validator.DynaValidatorForm"
3.DynaValidatorActionForm
ValidatorActionForm和DynaValidatorActionForm也都是在使用验证框架时使用,和DynaValidatorForm及ValidatorForm不同的是,在配置validtion.xml中<form name=path>
name使用的是action的path属性值。以此来区分不同请求的验证规则。
三.还有一种特殊的Form ,LazyValidatorForm。
<form-bean name="loginForm" type="org.apache.struts.validator.LazyValidatorForm"></form-bean>
我们没有配置form的属性。所以在jsp页面中必须使用struts标签。
<br>基本使用方式<br>Customer Name:<html:text property="username"></html:text>
<br>Customer Code:<html:text property="usercode"></html:text>
<br>
<br>自动封装Map<br>国家:<html:text property="address(nation)"></html:text>
<br>省份:<html:text property="address(state)"></html:text>
<br>城市:<html:text property="address(city)"></html:text>
这样就可以直接进行验证框架和action中的取值。
LazyValidatorForm lz = (LazyValidatorForm)form;
String username = (String)lz.get("username");
String usercode = (String)lz.get("usercode");
System.out.println("name---" + username + " usercode---" + usercode);
Map m = (Map)lz.get("address");
System.out.println(m.get("nation"));
System.out.println(m.get("state"));
System.out.println(m.get("city"));
return null;
分享到:
相关推荐
### Struts框架中struts-config.xml文件配置详解 #### 一、引言 在Java Web开发领域,Struts是一个非常重要的MVC(Model-View-Controller)框架,它极大地简化了Web应用程序的开发过程。而在Struts框架中,`struts...
在"struts资料\前半阶段小结"这个主题中,我们可以理解为是对学习或使用Struts框架初期阶段的一个总结。以下是对Struts框架核心知识点的详细解释: 1. **MVC模式**:MVC是一种设计模式,用于分离应用程序的数据、...
本文档是对Struts2实验过程中的几个关键问题及解决方案进行了归纳与整理。通过实际操作过程中遇到的问题及其解决办法,帮助其他开发者避免同样的错误,并提供高效的学习路径。 #### 知识点详细解析 ##### 总结1:...
#### 小结 通过上述步骤,我们可以成功地在Struts 2中实现文件上传功能。需要注意的是,在实际应用中可能还需要考虑更多的细节,比如文件大小限制、文件类型过滤以及错误处理等。这些额外的功能可以通过调整Struts...
1.4 小结 13 第2章初识Struts 14 2.1 Struts的优点 14 2.2 Struts的动作处理流程 15 2.3 拦截器 17 2.4 Struts配置文件 18 2.4.1 struts.xml文件 19 2.4.2 struts.properties文件 26 2.5 Struts应用程序示例...
### 小结 通过上述介绍可以看出,Struts 1框架提供了一套完整的解决方案来帮助开发者构建可维护、扩展性强的Web应用。它通过MVC架构将业务逻辑、视图和控制逻辑分离,提高了代码的可读性和可维护性。此外,Struts 1...
- 详细介绍了struts-config.xml中的各个关键元素及其作用,包括`<data-sourse>`、`<form-beans>`、`<global-exceptions>`、`<action-mapping>`等。 **3.4 本章小结** - 对Struts框架的配置文件进行了全面的总结,...
1.4 小结 13 第2章 初识Struts 14 2.1 Struts的优点 14 2.2 Struts的动作处理流程 15 2.3 拦截器 17 2.4 Struts配置文件 18 2.4.1 struts.xml文件 19 2.4.2 struts.properties文件 26 2.5 Struts应用程序示例 26 ...
"struts2标签小结 - jackyrong - ITeye技术网站.htm"很可能对这些标签进行了总结,包括`s:select`、`s:form`、`s:textfield`等常用标签的用法,以及如何在页面上动态绑定数据和进行条件判断等。 3. **Struts2与...
小结** 通过这个简单的登录应用,我们了解了Struts的基本工作流程,包括配置、Action、Form Bean和视图的交互。这只是一个起点,Struts还有许多高级特性和插件,如Tiles、Struts Tiles、Validation框架等,可以...
1. **配置文件**:Struts应用程序的核心是struts-config.xml文件,它定义了动作(Actions)及其对应的表单(Forms)、结果页面(Forward)等。在这个案例中,你需要配置一个或多个地址簿操作的动作,如添加、删除和...
#### 五、小结 Struts2 支持强大的文件上传功能,这得益于其对 Apache Commons FileUpload 和 Commons IO 库的支持。通过上述步骤,我们可以轻松地实现文件上传功能,并对其进行进一步的定制和优化。掌握这些知识点...
#### 七、小结 通过上述介绍可以看出,Struts2 框架为开发者提供了一套完善的解决方案,包括表单处理、数据验证、异常处理、国际化等重要功能,大大降低了 Web 开发的复杂度,提高了开发效率。对于希望使用 Java ...
- **Struts配置文件详解**:本章深入探讨了Struts配置文件中的各个元素,如`<global-exceptions>`、`<form-beans>`、`<global-forwards>`、`<action-mappings>`等,这些元素共同定义了Struts应用的行为。 - **应用...
一种常见的方式是使用jQuery的`Form Plugin`配合`iframe`,因为Struts2的默认提交方式是异步的,不利于获取上传进度。你可以在JSP页面中添加以下代码: ```html <script src="jquery.js"></script> ...
**1.3 小结** - J2EE为企业级应用提供了一套完整的解决方案,能够有效解决分布式计算环境下的复杂问题。 #### Struts基础 **2.1 MVC模式概述** - **2.1.1 MVC设计模式** - MVC(Model-View-Controller)设计模式...
在这个名为“项目小结.doc”的文档中,作者记录了他开发一个电子相册项目的过程,主要涉及以下几个IT知识点: 1. **项目启动与需求分析**: - 开始时,作者面对新项目感到迷茫,不清楚要实现哪些功能。这表明在...