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...
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 ...
一种常见的方式是使用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. **项目启动与需求分析**: - 开始时,作者面对新项目感到迷茫,不清楚要实现哪些功能。这表明在...