ActionForm本质是一个JavaBean,主要功能有:收集数据,数据校验,类型转换,传输对象
ActionForm的编写要注意下面几点:
1、 自定义的ActionForm必须继承自org.apache.struts.action.ActionForm,基类ActionForm不能实例化
2、 ActionForm中的属性名必须和页面控件输入框的属性名相同,并提供各个属性的get和set方法
3、 如果你要求ActionForm 在传递属性到Action之前校验它们,你就必须实现validate方法,在该方法中实现你要进行的验证工作
4、 如果想在组装前初始化属性,必须实现 reset 方法, 它会在ActionForm 每次组装前自动被调用 。所以如果你想用一个ActionForm分步收集几个页面的数据,就不能实现原reset方法,而要自定义一个resetField之类的方法初始化属性,并设置该ActionForm的scope为session,然后只在第一个收集页面相应的Action中调用该resetField方法(不然每个页面提交时都会自动调用reset方法初始化一次,到最后只剩最后面一个页面的数据被收集到了)
ActionForm实例:
package cn.huan.struts;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
/**
* 登录的ActionForm负责收集数据
* ActionForm中的属性名必须和表单中输入框的属性名相同
* @author 刘银环
*
*/
public class LoginActionForm extends ActionForm {
private String username;
private String password;
/**
* @return the username
*/
public String getUsername() {
return username;
}
/**
* @param username the username to set
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return the passward
*/
public String getPassword() {
return password;
}
/**
* @param passward the passward to set
*/
public void setPassword(String password) {
this.password = password;
}
/* (non-Javadoc)
* @see org.apache.struts.action.ActionForm#reset(org.apache.struts.action.ActionMapping, javax.servlet.http.HttpServletRequest)
*/
@Override
public void reset(ActionMapping mapping, HttpServletRequest request) {
System.out.println("--------LoginAcionForm.reset()--------");
}
/* (non-Javadoc)
* @see org.apache.struts.action.ActionForm#validate(org.apache.struts.action.ActionMapping, javax.servlet.http.HttpServletRequest)
*/
@Override
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
System.out.println("-----LoginAcitonForm.validate()");
// UserManager.getInstance().login(username, password);
return null;
}
}
分享到:
相关推荐
**Struts与JSP结合学习:初识登录界面** 在Web开发中,Struts框架是一个广泛应用的MVC(Model-View-Controller)架构,它帮助开发者有效地组织和管理应用程序的结构。而JSP(JavaServer Pages)则是一种用于创建...
这个压缩包“初识Java EE经典MVC框架Struts.rar”很可能是为了帮助初学者理解Struts框架的基本概念、架构以及如何在实际项目中应用。 首先,让我们来深入了解一下Struts框架的核心概念: 1. **模型(Model)**:模型...
在“第08章 初识Java EE经典MVC框架Struts”的源代码中,你可以看到以下几个关键部分的实现: 1. **Action类**:每个Action类处理一个特定的用户请求,实现业务逻辑并返回结果到视图。 2. **ActionForm**:定义了...
第2章 初识Struts 2 16 2.1 声明性架构 16 2.1.1 两种配置 16 2.1.2 声明架构的两种方式 17 2.1.3 智能默认值 20 2.2 简单的HelloWorld示例 20 2.2.1 部署示例应用程序 20 2.2.2 探索HelloWorld应用程序 24 2.3 使用...
第1章 初识MyEclipse 1 1.1 MyEclipse简介 1 1.2 MyEclipse的安装 1 1.2.1 JDK的安装与配置 1 1.2.2 MyEclipse 7.0的安装和运行 4 1.3 获取和阅读MyEclipse帮助文档 5 1.4 本章小结 5 第2章 MyEclipse集成开发环境的...
在本章中,我们将深入探讨Java Web整合开发的第四章——"初识Java EE展示层组件JSP2.0"。这一章节主要关注如何利用JavaServer Pages(JSP)技术来构建动态网页,同时结合Struts和Hibernate这两个关键框架,为Java ...