当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

<b>Struts1.x系列教程(14):动态Form</b>[Java编程]

赞助商链接



  本文“<b>Struts1.x系列教程(14):动态Form</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1、动态Form简介

固然ActionForm功效强盛,但有些时刻利用起来有些麻烦.如每成立一个用户录入界面(JSP页面),就得成立一个ActionForm子类来和这个页面对应.当然,我们可以采取嵌套属性从一定程度上补偿这个问题.但是在成立新的用户录入界面时,仍不可避免地要成立新的ActionForm子类.

在Struts1.2.6及今后的Struts版本中供应了一种动态Form的技术.使得不用再成立新的ActionForm便可以封装用户提交的数据.实际上,这种技术将定义ActionForm子类的工作变成了编写XML文件的工作.

每定义一个动态Form,就要在struts-config.xml中加一个<form-bean>元素,并利用<form-property>子元从来定义动态Form的属性.

在本章的最后还会介绍一个LazyValidatorForm类,通过这个类乃至可以不定义动态Form的属性便可以利用动态Form.这将大大简化开辟人员的工作量.

2、声明动态Form

声明一个动态Form非常简单,只需求在struts- config.xml的<form-beans>元素中加入一个<form-bean>子元素,并利用<form- property>元从来定义动态Form的属性.我们可以定义的属性范例有简单属性(如String)、索引属性(如数组)、映射属性(如 HashMap)以及嵌套属性(属性范例是另一个类).

关于动态Form来说,Form的范例必须是org.apache.struts.action.DynaActionForm或其子类.声明一个动态Form的代码以下:

<form-beanname="dynamicForm" type="org.apache.struts.action.DynaActionForm">
   <!--声明一个简单属性-->
   <form-propertyname="simpleProp"type="java.lang.String"initial="bill"/>
   <!--声明一个索引属性-->
   <form-propertyname="indexedProp"type="java.lang.String[]"/>
   <!--声明一个映射属性-->
   <form-propertyname="mappedProp"type="java.util.HashMap"/>
   <!--声明一个嵌套属性-->
   <form-propertyname="nestedProp"type="com.bean.MyBean"/>
</form-bean>

3、动态Form的属性范例

下面列出了动态Form支持的简单属性的全部范例:

java.math.BigDecimal

java.math.BigInteger

java.lang.Boolean

java.lang.Byte

java.lang.Character

java.lang.Class

java.lang.Double

java.lang.Float

java.lang.Integer

java.lang.Long

java.lang.Short

java.lang.String

java.sql.Date

java.sql.Time

java.sql.Timestamp

实际上,上面的数据范例就是Java中供应了简单数据范例.它们用在动态Form中和在Java中代表的数据范例是完好一样的.我们还可以利用<form-property>元素的initial属性为动态Form的简单属性指定一个默许值.如在例程6-11中name属性的默许值为“bill”.

关于索引属性的范例来说,可以是数组,也可以是java.util.List接口的类(如ArrayList).我们还可认为动态Form的属性指定实现java.util.Map接口的类作为数据范例(也就是映射属性).但遗憾的是,假如利用动态Form,就无法利用泛型举行自动范例转换了.


  以上是“<b>Struts1.x系列教程(14):动态Form</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .