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。
分享到:
相关推荐
Struts_学习笔记之ActionForm,简单配置即可达到效果
struts1使用actionform实现表单验证,表单验证失败追加信息。
struts 视频 struts视频 actionform
structs in action中文完全版\5. 用ActionForm 传递数据.pdf
主要是actionForm的基本验证,重写validate方法,返回actionErrors,然后根据资源文件显示错误。 这是一个demo例子,直接导入eclispe中即可。 并且这部分内容会在相应的博客中介绍,稍后会更新博客。
比上面的完整 博文链接:https://shangdiyefankun.iteye.com/blog/122443
struts提供了标签来显示整个ActionErrors的错误信息。但要在struts-config.xml中设置<action ...
NULL 博文链接:https://arang.iteye.com/blog/420546
最近自学java中的框架-struts写了一些小例子,这都是很经典的程序,如果大家瞧得起要下载去看看,顺便给俺找找不足的地方。我的qq 821865130 email qingtian_hechen@163.com 希望大家能多多给我帮助。在此谢谢各位!...
代码完整,使用struta2做的自动表单提交功能。具有良好的后期维护性
视频第二部分 下载前请阅读博客文章详细 博文链接:https://dlivan.iteye.com/blog/65870
最近自学java中的框架-struts写了一些小例子,这都是很经典的程序,如果大家瞧得起要下载去看看,顺便给俺找找不足的地方。我的qq 821865130 email qingtian_hechen@163.com 希望大家能多多给我帮助。在此谢谢各位!...