`
liuyinhuan
  • 浏览: 27399 次
  • 性别: 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的属性是一个复合类型,要怎么才能自动封装?

相关推荐

    struts1.2-jars.zip

    4. **配置文件**:主要包括struts-config.xml,它是Struts框架的核心配置文件,定义了Action、ActionForm、ActionForward等元素的映射关系。 5. **标签库**:提供了丰富的JSP标签,如logic标签、bean标签、html标签...

    struts1-core.jar

    6. **配置文件**:如struts-config.xml,用于配置Action、ActionForm、ActionMapping等,是Struts1应用的基础配置。 7. **Interceptor(拦截器)**:在1.3.x版本之后引入,允许在Action调用前后插入自定义逻辑,...

    struts2-blank

    6. **ActionForm/POJOs**:在Struts2中,Action通常与简单的Java Bean或ActionForm对象交互,用来接收和封装HTTP请求中的参数。 7. **依赖注入**:Struts2支持依赖注入(DI),可以通过注解或XML配置将服务注入到...

    struts1.2.9-src.zip

    Struts是Apache软件基金会下的一个开源项目,是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个“struts1.2.9-src.zip”压缩包包含了Struts框架的1.2.9版本的源代码,允许开发者深入理解...

    struts-1.3.8-all.zip

    - **lib** 目录:包含了运行Struts应用所需的库文件,包括Struts核心库、其他依赖的第三方库(如Commons Logging、BeanUtils等)。 - **docs** 目录:提供了框架的文档,包括API参考、用户指南和教程。 - **src** ...

    配置struts--config.xml详解

    Struts 是一个基于 Model-View-Controller (MVC) 设计模式的 Java Web 开发框架。在 Struts 应用程序中,`struts-config.xml` 文件是核心配置文件,它定义了应用的行为、控制器(Actions)、数据源(Form Beans)...

    struts-------资料.rar

    Struts 是一个开源的Web应用程序框架,主要用于构建和维护MVC(Model-View-Controller)架构的Java Web应用。在Java EE世界中,Struts框架是早期非常流行的一个选择,它帮助开发者组织和管理复杂的业务逻辑,使得...

    struts-1.2.9-bin.zip

    3. 编写Action、ActionForm和JSP页面,遵循Struts的MVC模式。 4. 配置服务器,如Tomcat,将应用部署上去。 **总结:** Struts 1.2.9是Java Web开发的重要里程碑,引入了许多核心的MVC概念和实践,对Web应用的结构化...

    struts-1.2.9-src.zip

    6. Struts配置文件(struts-config.xml):定义了应用程序的结构,包括Action、ActionForm、ActionMapping等元素的配置。 7. Tiles框架集成:Struts 1.2.x版本中包含了Tiles框架,它提供了一种组织和重用页面布局的...

    struts-1.2.9-all

    通过阅读源码,我们可以深入理解Struts的内部工作原理,包括ActionServlet、RequestProcessor、ActionForm、ActionMapping等关键类的实现,以及各种拦截器(Interceptor)的工作方式。 学习和使用“struts-1.2.9-...

    MYECLIPS--STRUtS教程--PDF

    MYECLIPS--STRUTS教程--PDF是一个针对初学者的指南,旨在引导用户了解并掌握Struts框架的基础知识。 本教程首先会介绍Struts的基本概念,包括其历史背景和在Java Web开发中的重要性。然后,它会详细讲解如何在...

    struts-2.3.4笔记

    3. **值栈(Value Stack)**:值栈是 Struts 2 提供的一种数据管理机制,它将 Action 对象、ActionForm 对象和其他模型对象存储在一个栈中,方便在 JSP 页面中通过 OGNL 表达式访问这些对象。 4. **OGNL(Object-...

    精通Struts --基于MVC的JavaWeb设计与开发

    1. **Struts框架核心组件**:Struts框架的核心组件包括ActionServlet、Action、ActionForm、Tiles和Struts配置文件等。ActionServlet作为控制器,处理所有来自客户端的请求;Action类执行具体的业务逻辑;ActionForm...

    struts-1.3.8-all.jar

    6. **配置文件**:如 `struts-config.xml`,它是 Struts 的核心配置文件,定义了 Action、ActionForm、ActionMapping 和其他组件的配置信息。 7. **国际化与本地化支持**:Struts 支持多语言应用,通过资源文件提供...

    struts-1.3.8-all&1.3.10

    库文件夹通常包含运行Struts应用所需的各种JAR文件,如Struts核心库、第三方依赖库(如Commons Logging、Commons BeanUtils等)。 7. **使用方法**:开发者需要将这些库文件添加到项目的类路径中,然后按照Struts的...

    Struts标签- HTML标签

    这些标签能够直接与Struts ActionForm对象交互,处理用户输入、验证数据以及设置和获取表单字段值。 2. **主要HTML标签** - `html:text`: 用于创建输入文本字段,与ActionForm中的属性关联,自动填充或提交数据。 ...

    struts1.2-jars

    - `struts-core.jar`:包含了Struts框架的核心类,如Action、ActionForm、ActionForward等,用于处理请求和响应。 - `struts-tiles.jar`:提供了Tiles组件,允许开发者创建可重用的页面布局和组合视图。 - `...

    Struts---------教程.rar

    三、Struts工作流程 1. 用户发送HTTP请求到达服务器。 2. `ActionServlet`拦截请求,根据`struts-config.xml`中的配置信息找到相应的Action。 3. 创建ActionForm实例,将请求参数填充到表单对象中。 4. 调用Action类...

    struts-1.2.9-bin 及 struts-1.2.9-src

    4. **配置文件**:基于XML的配置文件(struts-config.xml和web.xml),用于定义Action、ActionForm、Forward等。 5. **ActionForward**:控制请求转发到不同的Action或JSP页面。 6. **ActionForm**:封装HTTP请求...

    struts1.3.8-lib

    1. **MVC设计模式**:Struts1遵循MVC设计模式,将应用程序逻辑分解为三个部分:模型(Model)、视图(View)和控制器(Controller)。这种分离使得代码更易于维护和扩展。 2. **ActionServlet**:作为Struts1的入口...

Global site tag (gtag.js) - Google Analytics