在struts中利用DynaActionForm(动态ActionForm)可以节省代码的编写。

1.在struts-config.xml中配置DynaActionForm:加入这个Form中有三个属性

<form-bean name="MyDynaActionForm"  type="org.apache.struts.action.DynaActionForm">
  <form-property name="propertyOne" type="com.enrising.cpmis.web.dto.setup.propertyOne"/>
  <form-property name="propertyTwo" type="java.lang.Object"/>
  <form-property name="rebuildByDisaster" type="model.RebuildByDisaster"/>

</form-bean>

<action
  path="/attchment"
  type="web.struts.action.common.AttchmentAction"
  name="MyDynaActionForm"
  scope="request"
  parameter="method"
  unknown="false"
  validate="true"
>
<forward name="initattachment" path="/business/common/annex.jsp" redirect="false"/>
</action>

2.jsp页面

<html:form action="/capitalSplitAction.do" method="post">

<html:hidden property="propertyOne.activityId" styleId="activityId" />
<bean:define id="dto" name="capitalSplitActionForm"
property="propertyOne" />
<table class="table" cellspacing="0" cellpadding="0">

<tr><td><html:hidden property="propertyOne.planName" /></td></tr>

<tr><td><html:hidden property="propertyTwo.planNameTwo" /></td></tr>

<tr><input name="submit1" type="button" class="bt_xiafa" value="下达" onclick="submitCapital();"></td></tr>

</table>

3.在Action中我们可以通过map的get方法来得到页面传到后台的Form属性对象(这个Action继承DispatchAction)

public ActionForward submitCapital(ActionMapping mapping,ActionForm form,HttpServletRequest request,
                          HttpServletResponse response) throws Exception {

  PropertyOne propertyOne = (PropertyOne)((DynaActionForm) form).get("propertyOne"); //得到页面传到后台的属性对象

  PropertyTwo propertyTwo= (PropertyTwo)((DynaActionForm) form).get("propertyTwo");

  //从而通过这个对象来得到它的属性

  String planName = propertyOne.getPlanName();

  ……

  //同理注册一个DynaActionForm

  ((DynaActionForm) form).getMap().put("PropertyOne", propertyOne); 

  

}

DynaActionForm(动态ActionForm)的使用的更多相关文章

  1. Struts框架——(三)动态ActionForm

    一.DynaActionForm的引入意义 使用ActionForm把表单数据单独封装起来,而且提供了自动的数据验证,简化了代码的编写,给我们带来了极大的方便. 但是,ActionForm也存在一些明 ...

  2. struts1——静态ActionForm与动态ActionForm

    在struts1中,我们能够使用ActionForm来获取从client端提交上来的数据.并通过action配置中的name属性.将某个ActionForm配置到某次请求应答的Action中.作为本次 ...

  3. java笔记整理

    Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...

  4. SSH-Struts(三)—ActionForm

    ActionForm ActionForm用于封装用户的请求数据.即用户在页面上输入的数据.它充当了一个运输工具的角色.为了能够立体的理解ActionFrom.以下从两个角度看看:     从封装的数 ...

  5. Struts1应用、实现简单计算器、使用DispatchAction、显示友好的报错信息、使用动态Form简化开发

    实现简单的支持加.减.乘.除的计算器 复制一份Struts1Demo修改:Struts1Calc 方案1: Struts1Calc 创建ActionForm: CalcForm extends Act ...

  6. Struts DynaActionForm example

    The Struts DynaActionForm class is an interesting feature to let you create a form bean dynamically ...

  7. Struts 笔记 内部资料 请勿转载 谢谢合作

    Struts 概述 随着MVC 模式的广泛使用,催生了MVC 框架的产生.在所有的MVC 框架中,出现最早,应用最广的就是Struts 框架. Struts 的起源 Struts 是Apache 软件 ...

  8. [转载]深入了解 Struts 1.1

    转载自:http://www.ibm.com/developerworks/cn/java/l-struts1-1/ 摘要:作为基于 MVC 模式的 Web 应用最经典框架,Struts 已经正式推出 ...

  9. Java Web编程的主要组件技术——Struts的高级功能

    参考书籍:<J2EE开源编程精要15讲> Struts对国际化的支持 "国际化"(I18N)指一个应用程序在运行时能根据客户端请求所来的国家/地区.语言的不同显示不同的 ...

随机推荐

  1. Linux 查看负载

    top  iostat -x 1 10 free uptime cat /proc/cpuinfo cat /proc/meminfo src lsof 1,查看磁盘 df -h 2,查看内存大小 f ...

  2. ZOJ2588 Burning Bridges 无向图的割边

    题目大意:求无向图的割边编号. 割边定义:在一个连通图中,如果删去一个边e,图便变成不连通的两个部分,则e为该图的割边. 求法:边(u,v) 不是割边,当且仅当边(u,v)在一个环内.因此所有不在环内 ...

  3. sql server 2012中red gate的sql source control消失

    找到C:\ProgramData\Microsoft\SQL Server Management Studio\11.0\Addins路径,用notepad++打开RedGate.SIPFramewo ...

  4. P1025小飞侠的游园方案

    描述 经过抽签选择,小智将军第一个进入考场. 菜虫:(身上散射出华贵(?)的光芒)欢迎你,第一位挑战者!! 小智:……(走到菜虫身后,关灯)女王陛下,虽然我们国家现在很富裕,但也请您不要浪费电来用这么 ...

  5. JPA设置表名和实体名,表字段与实体字段的对应

    转自:https://blog.csdn.net/LQW_java_home/article/details/53079363 首先 你的jpaProperties配置项中要有 <prop ke ...

  6. [Plugin] WEB版一次选择多个文件进行批量上传(swfupload)的解决方案

    URL:http://www.cnblogs.com/chillsrc/archive/2010/02/21/1670594.html 说明:功能完全支持ie和firefox浏览器! 一般的WEB方式 ...

  7. POJ 3620 DFS

    题意: 给你n*m的矩形,有k个坏点 问最大坏点连通块的坏点数. 一发水题.. 裸的DFS // by SiriusRen #include <cstdio> #include <a ...

  8. ansible usually

    链接地址:https://my.oschina.net/kangvcar/blog/1830155

  9. 洛谷P1208 [USACO1.3]混合牛奶 Mixing Milk(贪心)

    题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要.帮助Marry乳业找到最优的牛奶采购方案. Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是 ...

  10. 获取URL路径参数getUrlParams

    function getUrlParams(){ var reg = new RegExp("(^|&)" + name + "=([^&]*)(& ...