在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. iOS 块的简单理解

    占位 自己主动转载器那小子,你转完了没? 转完了,我开写了哈! Block,就两个事儿,一个是引用,一个是实例,除了实现处.其他地方都是引用. 以此思路.再继续看看引用和实现的定义方式吧. 參考官方文 ...

  2. 使用UIScrollView和UIPageControl做一个能够用手势来切换图片的效果

    利用UIScrollView的滚动效果来实现,先上图: 实现过程是:在viewController里先增加UIScrollView和UIPageControl: -(void) loadView { ...

  3. vs2013+ffmpeg开发环境搭建【转】

    本文转载自:http://blog.csdn.net/spaceyqy/article/details/43115391 每当看到配环境,我就泪流满面,好吧,闲话不多说,进入正题. 1.去官方下载ff ...

  4. [luogu P5349] 幂 解题报告 (分治FFT)

    interlinkage: https://www.luogu.org/problemnew/show/P5349 description: solution: 设$g(x)=\sum_{n=0}^{ ...

  5. POJ-3061 Subsequence 二分或尺取

    题面 题意:给你一个长度为n(n<100000)的数组,让你找到一个最短的连续子序列,使得子序列的和>=m  (m<1e9) 题解: 1 显然我们我们可以二分答案,然后利用前缀和判断 ...

  6. VMware 安装LINUX系统(一)

    我用的是WORKSTATION 15 PRO https://www.vmware.com/asean/products/workstation-pro/ 1.安装LINUX 打开Vmware,点击创 ...

  7. How to read a paper efficiently

    How to read a paper efficiently Structure of a Journal a Journal Article Title Keywords Abstract Int ...

  8. Django之缓存机制

    1.1 缓存介绍 1.缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次 ...

  9. 第一天:java与mysql的连接工具类

    第一天:java与mysql的连接工具类 java最新版马上就要收费,这无疑是这门语言的衰败起始,毕竟在中国收费便难发展,例如c#,但是毕业设计已经选好用java来写一个动态网站, 这已经是一个事实, ...

  10. java网络编程之socket(1)

    网络编程是什么 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据. ...