struts1——静态ActionForm与动态ActionForm

简介:       在struts1中,我们可以使用ActionForm来获取从client端提交上来的数据,并通过action配置中的name属性,将某个ActionForm配置到某次请求应答的Action中,作为本次请求应答的数据传输介质,ps,其实还是侧重于数据在客户端的获取,因为赋值部分框架帮我们做好了。



      在struts1中,我们可以使用ActionForm来获取从client端提交上来的数据,并通过action配置中的name属性,将某个ActionForm配置到某次请求应答的Action中,作为本次请求应答的数据传输介质,ps,其实还是侧重于数据在客户端的获取,因为赋值部分框架帮我们做好了。


          对于ActionForm的使用,我们有两种方式:一是通过建立类的方式,二是直接写入配置文件的方式。



一,静态ActionForm的使用


            首先我们需要定义类,注意这个类要继承ActionForm类:


       定义好类之后,将我们要获取的客户端数据作为成员变量写入类中,确保get后面的名称首字母小写后,与我们客户端提交的数据的name名称一致。


       之后,在struts的配置文件中配置此类:



    为了关联ActionForm与Action关系,还需要在Action的name配置中,指明此Action使用的是哪个form-bean:


 


 在Action中获取request中的数据,只需强转成我们定义的ActionForm类即可:





二,动态ActionForm使用


         如果我们系统比较大的话,试想一下,我们要为每一个Action配置一个ActionForm类来实现数据的传递,这样的话,ActionForm就比较多。这时候,我们可以使用动态ActionForm将ActionForm配置在配置文件中.


       


      动态ActionForm的type都要配置成 :   type="org.apache.struts.action.DynaActionForm" ,将类的property指明类型之后配置到form-property中。


   服务端取值:


     


      动态ActionForm的值都存储到一个map中,key-value形式,key为我们配置文件中的form-property的name的值,得到value之后进行强转。


  表现层取值:






三,静态ActionForm跟动态ActionForm的比较


1,两种ActionForm都能实现相同的功能:比如数据验证,reset数据。

2,使用类的方式缺点是项目大的话,类较多,每次增加,都要重新编译;但是Action中取值简单;

3,使用动态ActionForm省去了类,只需在配置文件中配置,方便修改,缺点是取值不方便,map里面get的时候,如果key指明的不正确,容易出错。











目录
相关文章
|
安全 JavaScript 前端开发
动态配置
动态配置
680 0
|
10月前
|
XML 前端开发 Java
前端|静态到动态的实现—JSP技术
前端|静态到动态的实现—JSP技术
138 0
Struts2动态方法调用,和struts.xml的通配符方式调用
Struts2动态方法调用,和struts.xml的通配符方式调用
81 0
Struts2动态方法调用,和struts.xml的通配符方式调用
struts2中获取作用域的2种方式,RequestAware
struts2中获取作用域的2种方式,RequestAware
63 0
struts2中获取作用域的2种方式,RequestAware
配置静态和动态
介绍: 静态nat 和 动态nat 的配置 静态nat 配置步骤 第一步 配置接口地址 第二步 配置静态地址转换 ip nat inside source static 内部私有地址 转换之后的公网地址 动态nat 配置步骤 第一步 配置接口地址 第二步 配置标准acl 指定需要转换的多个内部主机地址 access-list 编号 permit 网段地址 子网掩码反码 第三步 配置 转换后的公网地址地址池 ip nat pool 地址池名字 起始地址 结束地址 子网掩码 第四步 配置动态地址
121 0
|
Java
JSP - include(动态 & 静态)
JSP - include(动态 & 静态)
235 0
|
Java
JSP中静态包含与动态包含的关系
JSP中静态包含与动态包含的关系
96 0
|
JSON JavaScript Java
动态与静态 | 学习笔记
快速学习动态与静态。
|
C#
C#动态系统托盘图标
C#动态系统托盘图标 利用timer组件定时执行变化。 1 using System; 2 using System.Windows.Forms; 3 4 namespace DynamicStockIcon 5 { 6 public partial clas...
1277 0
|
Web App开发 Android开发