快速业务通道

提交多行数据到Struts的ActionForm的List属性中 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18

提交多行数据到Struts的ActionForm的List属性中

时间:2011-03-23 隔叶黄莺

WEB 应用中一般都会处理主从表的信息, 或者称之为头层与行层的一对多的关系数据,如订单头/订单明细. 对于这种关系数据提交到后台的 Struts 的 ActionForm 的话, 这个 ActionForm 就要好好的设计一下, 不然会给自已带来许多额外的代码. 比如有的人的处理方法就是把页面提交到后台的毫无关系的散装数据非常吃力的拼凑一对多的关系对象出来.

下面举一个如今非常现实的关于股票的例子, 简单的应用场景是: 记录某个帐户所持有的股票信息,提交到后台,然后显示出来. 输入页面如下图

帐户信息包括帐户名和资金帐号;持有股票的每一行信息包括股票代码, 股票名称, 成本价, 股票数量. 股票行可以动态增删.

提交多行数据到Struts的ActionForm的List属性中 - 编程入门网

输入页面 input.jsp

提交多行数据到Struts的ActionForm的List属性中 - 编程入门网

后台处理类图

为了简化不必要的代码, 我们要实现的终及目标是: 在输入页面上点击 "保存数据" 按钮, 由 Struts 的 RequestProcessor.processPopulate() 方法把页面提交的基本信息组装到 AccountStockForm 的 account 的对应属性中,股票行信息对应生成一个 Stock 实例加到 AccountStockForm的 List 属性 stocks 中, 后续在 AccountStockAction 中直接处理account和stocks属性就非常简单了. AccountStockForm在这里只作为一个壳.

下面从前台到后台说明关键性的代码, 完整的 MyEclipse 工程包可以点击 TestStruts135.zip下载到.

一: struts-config.xml 配置

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC       "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"       "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config>    <form-beans>      <form-bean name="accountStockForm"       type="com.unmi.form.AccountStockForm"/>    </form-beans>    <action-mappings>      <action path="/showStock" name="accountStockForm"      type="com.unmi.action.AccountStockAction" scope="request">        <forward name="show" path="/show.jsp"/>      </action>    </action-mappings> </struts-config> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC       "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"       "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <struts-config>    <form-beans>      <form-bean name="accountStockForm"       type="com.unmi.form.AccountStockForm"/>    </form-beans>    <action-mappings>      <action path="/showStock" name="accountStockForm"      type="com.unmi.action.AccountStockAction" scope="request">        <forward name="show" path="/show.jsp"/>      </action>    </action-mappings> </struts-config>

提交多行数据到Struts的ActionForm的List属性中(2)

时间:2011-03-23 隔叶黄莺

二: 输入页面 input.jsp, 注意表单域命名

<html:form action="/showStock">    <h3&

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号