ActionForm的概念:
ActionForm用于封装用户请求的参数。而请求参数是通过JSP页面的表单域传过来的,因此要保证ActionForm的参数要与提交表单域的提交参数名字相同。
编写一个ActionForm的步骤:
第一步:编写ActionForm Java类。
编写一个ActionForm java类时要继承org.apache.struts.action.ActionForm这个类。
如:
package com.lovo.form;
import org.apache.struts.action.ActionForm;
public class LoginForm extends ActionForm {
...
}
继承org.apache.struts.action.ActionForm后,记得提供与页面表单域的请求参数一一对应的属性。
假如有如下form表单。
...
<form action="login.do">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" name="subBin">
</form>
...
那么我的ActionForm Java类里面的属性就因该有如下这些:
public class LoginForm extends ActionForm {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
并给每个参数提供符合规范的get和set方法。
注意:事实上,如果不考虑javabean规范,那么参数本身的名字和提交表单域的参数的名字可以不一样,但只要set方法与提交表单域参数放在一起是符合javabean的set方法的命名规范,也是可以的。
如:
ActionForm类中有这个属性:private String username1;
假如请求参数为:username
然后ActionForm类中有如下set方法:
public void setUsername(String username) {
this.username1 = username;
}
这样也是可以的,只是一般不会这样做而已。
第二步:配置struts-config.xml。
ActionForm java类写完以后,就应该到配置文件了。
示例:
<form-beans>
<form-bean name="loginForm" type="com.lovo.LoginForm"></form-bean>
</form-beans>
ActionForm的配置:
最外面是form-beans,有一个“s”,表示其中可以有多个form-bean。而当中的form-bean的name属性可以随便命名,type属性是配置你写的AciotnForm类的全限定名。
ActionForm配置好以后,事情还没有完,因为现在只是书写了一个ActionForm,并没有纳入实际应用中。接下来就是配置Action了,把写好了的ActionForm绑定到Aciotn身上。如何绑定?示例:
<action-mappings>
<action path="/login"
input="/error.jsp"
type="com.lovo.LoginAction"
name="loginForm"
attribute="loginInfo"
scope="request"
validate="true">
</action>
</action-mappings>
绑定ActionForm的属性是name,这个name的值必须和上面form-bean的name值保持一致,这样Action就绑定了一个form-bean。
input:如果你在ActionForm中重写了,validate这个方法,那么如果在返回ActionErrors中有值,也就是出现了错误,那么它就要跳转到某个页面,这个页面就是用input来指定。
validate:validate用于确定是否在ActionForm中做验证。
scope:是指定包封装好的请求参数放在那个作用域里面,默认是session里面,你也可以使用这个属性把作用域设置成request。
attribute:这个是指定作用域里面封装请求参数的键值对中的key,如果不配置此属性,则默认是你action中的name值。
分享到:
相关推荐
Struts1.x是一个经典的Java Web框架,由Apache软件基金会维护,它在2000年代中期至晚期广泛应用于企业级应用开发。这个框架基于Model-View-Controller(MVC)设计模式,帮助开发者构建结构清晰、可维护性强的Web应用...
Struts1.x的工作流程较为固定,每个Action的执行都遵循一个预定的流程,从请求到达、调用Action到返回结果,整个过程相对单一。而Struts2.x则为每个Action提供了一个独立的工作流程,可以针对不同的Action配置不同的...
本资源集合包含了所有最新的Struts1.x项目应用,为开发者提供了一个宝贵的参考资料库。 Struts1.x的核心组件包括: 1. **ActionServlet**:这是Struts框架的核心,作为Servlet拦截请求,根据配置文件(struts-...
Struts 1.x 是一个基于 Model-View-Controller (MVC) 设计模式的 Java Web 开发框架,由 Apache 软件基金会开发并维护。它在20世纪末到21世纪初广泛应用于企业级Web应用开发,因其强大的功能和良好的社区支持而受到...
Struts1.x是一个经典的Java Web框架,它在20世纪末至21世纪初被广泛使用,用于构建基于MVC(Model-View-Controller)架构的Web应用。本示例将探讨如何使用Struts1.x实现一个简单的登录功能。首先,我们需要理解...
2. **Action类**:每个HTTP请求都对应一个Action类,这是Struts1.x的核心组件。Action类处理用户请求,执行相应的业务逻辑,并通过ActionForward决定响应的视图。 3. **配置文件**:主要包括struts-config.xml,这...
Struts1.x是一个经典的Java Web开发框架,它遵循Model-View-Controller(MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用程序。在这个"Struts1.x_Project.zip"压缩包中,我们可以看到一个使用Struts1.x...
Struts1.x是Apache Jakarta项目的一个重要组成部分,它是一个用于构建企业级Web应用程序的开源MVC框架。该框架的主要目标是简化JavaServer Pages(JSP)、Servlet和标签库的使用,同时提升面向对象的设计效率。...
Struts 1.x 是一个经典的Java Web开发框架,由Apache软件基金会开发,它极大地简化了MVC(模型-视图-控制器)架构的实现。如果你正在寻找如何搭建Struts 1.x的开发环境,以下是一些关键的知识点,以及这些指定的jar...
Struts1.x是Apache软件基金会旗下Jakarta项目的一个核心组件,它是一款开源的MVC(Model-View-Controller)框架,用于构建企业级Java Web应用程序。这个框架在2000年代初非常流行,因其规范化的开发流程和强大的功能...
Struts 1.XX 是一个历史悠久的开源框架,主要用于构建基于Java的企业级Web应用程序。它在Web开发领域曾经非常流行,特别是在MVC(Model-View-Controller)设计模式的应用上。Struts 1的核心组件之一就是内置Action,...
Struts 1.XX 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它在早期Web开发中被广泛使用。`<html:file>`是Struts提供的一个标签,主要用于处理用户在HTML表单中上传文件的功能。在Struts 1中,这...
Struts是一个开源的MVC(Model-View-Controller)框架,最初由Tangent Systems公司开发,并于2000年捐赠给Apache Software Foundation,成为Apache Jakarta项目的一部分。Struts1.x版本的核心优势在于其灵活的控制层...
Struts1.x是一个非常经典的Java Web开发框架,它在过去的许多年里被广泛使用。文件上传功能是Web应用中常见的需求之一,特别是在处理用户需要提交多个文件的场景下。Struts1.x提供了处理多文件上传的功能,使得...
Struts1.x是一个经典的Java Web框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在Struts1.x中,JDBC(Java Database Connectivity)是常用于与数据库交互的技术,它允许开发者通过Java代码来执行SQL语句,...
这个名为"Struts1.x.rar"的压缩包文件,结合其描述"Struts1.x.rar购物网和所需的包.rar,对初学者有帮助",暗示其中包含了构建一个基于Struts1.x的购物网站的相关资源和依赖库。在学习和使用Struts1.x框架构建电子...
为了构建一个基本的 Struts 1.x 应用程序,首先需要搭建合适的开发环境。这包括下载和安装必要的库文件(JAR 文件)及配置应用程序。 1. **下载 Struts**:可以从官方网站或其他可信源下载 Struts 的最新版本。本例...
此处的 `<form-bean>` 标签用于定义一个 ActionForm 对象,其中 `name` 属性为 ActionForm 的唯一标识,而 `type` 属性则指定了 ActionForm 类的全限定名。 ##### Action Mappings 示例: ```xml ...
Struts1的核心是ActionServlet,它是一个实现了Servlet接口的控制器。当用户发起HTTP请求时,请求会被Dispatcher拦截并转发到对应的ActionForm。ActionForm是模型层与视图层之间的桥梁,用于接收和验证来自JSP页面的...
Struts1.x是Apache软件基金会开发的一个开源框架,主要用于构建基于Java的企业级Web应用程序。它在MVC(Model-View-Controller)设计模式的基础上提供了一种实现方式,使得开发者能够更方便地处理业务逻辑、视图展示...