Struts笔记(二)ActionForm传递数据

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>


[list]
[*]ActionForm 作为字段收集器
[*]ActionForm 作为数据缓冲,以便在提交之前进行校验
[*]ActionForm 作为数据校验器,。ActionForm的validate 方法是一个扩展点,你可以在此插入对
业务方法(它们知道如何校验数据)的调用。当校验失败, ActionForm 可以将整个内容
都回传给web 页面,这样用户就可以重新尝试。
[*]ActionForm 作为类型转换器,在ActionForm中包含一些helper方法,来进行类型转换。helper 方法可以有很多种实现方式。
[*]ActionForm 作为传输对象(TO),ActionForm 可以被其它bean或者过程作为数据载体。就是说ActionForm 是一个传输对象(Transfer Object)。HTTP 将每个属性表达为名-值对。
[*]ActionForm 作为防火墙,它使你在数据被允许传递到应用的其它部分之前必须检查数据。
[/list]

Struts 标签扩展有助于根据ActionForm组装HTML 控件。ActionServlet根据HTTP 请求组装ActionForm。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值