| |
技术文档>>JAVA>>新手入门>>基础入门>查看文档 |
|
| |
jakarta struts应用的七个经验(5) |
|
| |
文章作者:未知 文章来源:水木森林 |
|
| |
查看:60次 录入:管理员--2007-11-17 |
|
| |
6.使用动态actionform 在struts framework中,actionform对象用来包装html表格数据(包括请求),并返回返回动态显示给用户的数据。它们必须是完全的javabean,并继承.struts 里面的actionform类,同时,用户可以有选择地覆盖两个缺省方法。 该特性能节省很多时间,因为它可以协助进行自动的表现层的验证。actionform的唯一缺点是必须为不同的html表格生成多个actionform 类以保存数据。例如,如果有一个页面含有用户的注册信息,另一个页面则含有用户的介绍人的信息,那么就需要有两个不同的actionform类。这在大的应用系统中就会导致过多的actionform类。struts 1.1对此做出了很好的改进,引入了动态actionform类概念 通过struts framework中的dynaactionform类及其子类可以实现动态的actionform ,动态的actionform允许你通过struts的配置文件完成actionform的全部配置;再也没有必要在应用程序中创建具体的actionform类。具体配置方法是:在struts的配置文件通过增加一个元素,将type属性设定成dynaactionform或它的某个子类的全名。下面的例子创建了一个动态的actionform名为logonform,它包含两个实例变量:username 和 password.  动态的actionform可以用于action类和jsp,使用方法跟普通的actionform相同,只有一个小差别。如果使用普通的actionform对象则需要提供get 和 set方法取得和设置数据。以上面的例子而言,我们需要提供getusername() 和 setusername()方法取得和设置username变量,同样地有一对方法用于取得和设置password变量. 这里我们使用的是dynaactionform,它将变量保存在一个map类对象中,所以必须使用dynaactionform 类中的get(name) 和 set(name)方法,其中参数name是要访问的实例变量名。例如要访问dynaactionform中username的值,可以采用类似的代码: string username = (string)form.get("username"); 由于值存放在一个map对象,所以要记得对get()方法返回的object对象做强制性类型转换。 dynaactionform有好几个很有用的子类。其中最重要的是dynavalidatorform ,这个动态的actionform和validator 一起利用公共的validator包来提供自动验证。这个特性使你得以在程序代码之外指定验证规则。将两个特性结合使用对开发人员来说将非常有吸引力。 7. 使用可视化工具 自从struts 1.0 分布以来,就出现了不少可视化工具用于协助创建,修改和维护struts的配置文件。配置文件本身是基于xml格式,在大中型的开发应用中会增大变得很笨拙。为了更方便的管理这些文件,一旦文件大到你无法一目了然的时候,建议试着采用其中的一种gui 工具协助开发。商业性的和开放源代码的工具都有不少,表1列出了可用的工具和其相关链接,从那里可以获取更多信息。 附1. struts gui 工具 应用程序 性质 网址 adalon 商业软件 http://www.synthis.com/products/adalon easy struts 开放源码 http://easystruts.sourceforge.net/ struts console 免费 http://www.jamesholmes.com/struts/console jforms 商业软件 http://www.solanasoft.com/ camino 商业软件 http://www.scioworks.com/scioworks_camino.html struts builder 开放源码 http://sourceforge.net/projects/rivernorth/ strutsgui 免费 http://www.alien-factory.co.uk/struts/struts-index.html
|
|
|
|
相关文档
|