`
liuyinhuan
  • 浏览: 27666 次
  • 性别: Icon_minigender_1
  • 来自: 广东中山
文章分类
社区版块
存档分类
最新评论

初识Struts(三)------ActionForm

阅读更多

ActionForm本质是一个JavaBean,主要功能有:收集数据,数据校验,类型转换,传输对象

 

 

 

 

 

 

    ActionForm的编写要注意下面几点:

1、  自定义的ActionForm必须继承自org.apache.struts.action.ActionForm,基类ActionForm不能实例化

2、  ActionForm中的属性名必须和页面控件输入框的属性名相同,并提供各个属性的getset方法

3、  如果你要求ActionForm 在传递属性到Action之前校验它们,你就必须实现validate方法,在该方法中实现你要进行的验证工作

 

4、  如果想在组装前初始化属性,必须实现 reset 方法, 它会在ActionForm 每次组装前自动被调  。所以如果你想用一个ActionForm分步收集几个页面的数据,就不能实现原reset方法,而要自定义一个resetField之类的方法初始化属性,并设置该ActionFormscopesession,然后在第一个收集页面相应的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;
	}
	

}

 

分享到:
评论
1 楼 riching 2009-04-01  
如果ActionForm的属性是一个复合类型,要怎么才能自动封装?

相关推荐

    学习JSP的Struts的第一步:登录界面

    **Struts与JSP结合学习:初识登录界面** 在Web开发中,Struts框架是一个广泛应用的MVC(Model-View-Controller)架构,它帮助开发者有效地组织和管理应用程序的结构。而JSP(JavaServer Pages)则是一种用于创建...

    初识Java EE经典MVC框架Struts.rar

    这个压缩包“初识Java EE经典MVC框架Struts.rar”很可能是为了帮助初学者理解Struts框架的基本概念、架构以及如何在实际项目中应用。 首先,让我们来深入了解一下Struts框架的核心概念: 1. **模型(Model)**:模型...

    STRUTS基础

    在“第08章 初识Java EE经典MVC框架Struts”的源代码中,你可以看到以下几个关键部分的实现: 1. **Action类**:每个Action类处理一个特定的用户请求,实现业务逻辑并返回结果到视图。 2. **ActionForm**:定义了...

    Struts2 in action中文版

    第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 使用...

    JAVA程序开发大全---上半部分

    第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 Web整合开发的第四章——"初识Java EE展示层组件JSP2.0"。这一章节主要关注如何利用JavaServer Pages(JSP)技术来构建动态网页,同时结合Struts和Hibernate这两个关键框架,为Java ...

Global site tag (gtag.js) - Google Analytics