2. ActionForm传递数据
创建一个ActionForm 并不困难,但是你的类必须符合一些要求:
ActionForm 必须扩展自org.apache.struts.action.ActionForm。基类ActionForm 是不能实例化的。
ActionForm 必须为每个应该从请求中收集的HTML输入控件定义一个公共属性。
如果你要求ActionForm 在传递属性到Action之前校验它们,你就必须实现validate方法;
如果想在组装前初始化属性,必须实现 reset , 它在ActionForm 组装前被调用;
下面是一个简单的ActionForm 类:
public class MyForm extends ActionForm {
protected String name;
protected String address;
public String getName()
{return this.name;};
public String getAddress()
{return this.address;};
public void setName(String name)
{this.name = name;};
public void setAddress(String address)
{this.address = address;};
使用DynaActionForm直接在struts-config.xml配置。
<form-bean
name="myForm"
type="org.apache.struts.action.DynaActionForm">
<form-property
name="name"
type="java.lang.String"/>
<form-property
name="address"
type="java.lang.String"/>
</form-bean>
- ActionForm 作为字段收集器
- ActionForm 作为数据缓冲,以便在提交之前进行校验
- ActionForm 作为数据校验器,。ActionForm的validate 方法是一个扩展点,你可以在此插入对
业务方法(它们知道如何校验数据)的调用。当校验失败, ActionForm 可以将整个内容
都回传给web 页面,这样用户就可以重新尝试。
- ActionForm 作为类型转换器,在ActionForm中包含一些helper方法,来进行类型转换。helper 方法可以有很多种实现方式。
- ActionForm 作为传输对象(TO),ActionForm 可以被其它bean或者过程作为数据载体。就是说ActionForm 是一个传输对象(Transfer Object)。HTTP 将每个属性表达为名-值对。
- ActionForm 作为防火墙,它使你在数据被允许传递到应用的其它部分之前必须检查数据。
Struts 标签扩展有助于根据ActionForm组装HTML 控件。ActionServlet根据HTTP 请求组装ActionForm。
分享到:
相关推荐
当用户访问/login路径并提交表单时,Struts会自动实例化UserForm,填充用户提交的数据,并将其传递给LoginAction。Action可以通过Form Bean的getter方法获取用户输入,执行验证、业务逻辑等操作。完成后,Action通过...
在本套“达内,tarena,struts笔记,strutsPPT课件,达内struts笔记”资源中,我们重点关注的是Struts 1.x版本,这是一个较旧但仍然广泛使用的版本,尤其对于初学者来说,它是理解MVC设计模式和Web开发基础的良好...
林信良的Struts笔记无疑为我们提供了一种深入理解Struts框架的途径,尤其对于初学者来说,是一份非常有价值的参考资料。 在Struts框架中,主要包含了以下几个核心组件: 1. **Action类**:Action是业务逻辑处理的...
OGNL是Struts2中用于对象属性访问和表达式语言,它允许在Action、ValueStack和视图层之间传递数据。ValueStack是一个对象栈,它持有ActionContext上下文中的所有对象,包括Action实例、ActionForm、Session、Request...
`ActionForm`的实例可以在多个`Action`之间共享,以传递请求数据。 在模型层,Struts并没有强绑定特定的实现,因此可以自由选择DAO(数据访问对象)或Service层来处理业务逻辑和数据操作。Struts的核心设计在于它...
`struts-config.xml`是Struts的核心配置文件,定义了Action、ActionForm、数据源等信息。此外,`web.xml`也需要配置以启动Struts的ActionServlet。 7. **Struts拦截器** 拦截器是Struts 2引入的一个重要特性,...
此外,Struts1.x的JSP页面通常会配合使用ActionForm对象来传递和验证用户输入。 **Struts2简介** Struts2是Struts1的升级版,它吸取了其他优秀框架的优点,如Spring、WebWork等,提供更强大的功能和更灵活的配置。...
此外,Struts 还提供了 ActionForm 类,它是 MVC 模式中的模型组件,负责收集和验证来自表单的数据。ActionForm 可以绑定到 JSP 页面上的表单元素,使得数据的验证和传输更加方便。 在工具方面,Struts 1.3.8 提供...
Struts1学习笔记总结 Struts1是一种基于MVC模式的Web应用框架,它可以帮助开发人员快速构建高效、可维护的Web应用程序。下面是对Struts1学习笔记的总结,涵盖了Struts1的基本概念、工作流程、标签、国际化等方面的...
Struts的ActionForm 对象是框架用来在用户和业务层之间来回传递数据的。框架会自动收集请求的输入,然后使用from bean 将数据传递给Action,最后再传递给业务层。 对于每一个提交数据的html页面,你应该使用...
在Struts中,模型负责业务处理,视图负责数据显示,控制器接收用户请求并调用模型进行处理,然后将结果传递给视图进行展示。 2. **Action类**:在Struts中,Action类是控制器的核心部分,它接收来自用户的请求,...
ActionForm是用于传递请求参数到Action的载体,它可以封装用户的输入数据。 Struts配置文件是框架的另一个关键部分,通常命名为struts-config.xml。这个文件定义了Action的映射、ActionForm的使用、以及结果页面的...
4. 将ActionForm传递给Action,执行业务逻辑。 5. Action返回一个ActionForward,指示ActionServlet转发或重定向到特定的结果页面。 6. JSP或FreeMarker渲染视图,显示数据。 五、Struts的优缺点 优点: - 结构清晰...
4. **ActionForm**:ActionForm对象用于封装用户输入的数据,从请求中获取数据并传递给Action进行处理。每个表单对应一个ActionForm,其属性与HTML表单字段相对应。 5. **ActionMapping**:定义了请求URL与Action类...
Struts2使用OGNL作为默认表达式语言,用于在Action和View之间传递数据。OGNL可以访问对象图中的任何属性,简化了视图层的数据绑定。 七、Struts2的注解支持 除了XML配置,Struts2还支持注解方式,可以在Action类和...
二、Struts架构 Struts架构主要包含以下几个核心组件: 1. ActionServlet:作为Struts的前端控制器,负责处理所有的HTTP请求,解析请求参数,并转发到相应的Action。 2. Action:实现了业务逻辑的类,接收并处理...