Struts 原理(二) --- 3.1使用DispatchAction开发计算器

 通常 , 一个Action中只能完成一种业务操作 , 通过扩展org.apache.struts.actions.DispatchAction 实现的Action类可以完成一组相关的集中业务操作 . 扩展自DispatchAction的Action类中不必定义execute方法 , 而是创建一些实现实际业务操作的方法 , 如doAdd() , doSubtract() 等, 但这些业务方法的传入参数和返回值 一定要和execute方法的一致 .

 

在请求页面中使用

function doSubmit(op){
         document.forms[0].operate.value=op;
         document.forms[0].submit();
     }

来动态获取我们单击的是什么操作 .

 

然后在下面的form 中

<input type="button" value="+" οnclick="doSubmit('doAdd')">
  <input type="button" value="-" οnclick="doSubmit('doSubTract')">
  <input type="button" value="*" οnclick="doSubmit('doMultiply')">
  <input type="button" value="/" οnclick="doSubmit('doDivide')">

通过不同的操作,将不同的值传进去.

 

在struts-config.xml中和其它的Action 一样, 只是多了一个parameter属性, parameter="operation" 这个属性告诉Struts , 需要到请求对象中寻找一个 name为 operation的表单元素的值 , 根据那个值 来判断我们需要使用自定义Action的那个方法来执行这个操作了 .

 

使用DispatchAction将相关的操作组织在一起是项目中经常采用的方式 . 一般,对应同一个数据库表的操作经常组织在一起, 比如: 添加订单, 删除订单, 修改订单, 提交订单和查询订单的操作通常组织在同一个ActionBean中. 当然Action的组织以业务为主要依据 , 订单明细显然对应另外一个表, 但也是订单操作, 也尝尝和其它订单操作放在同一个ActionBean中 .

 

在DispatchAction Bean中 , 方法名称的前缀也常常遵循一定的规则: 转到编辑页面的方法常命名为toEdit , 执行编辑操作的方法常常命名为doEdit  ; 依稀类推 , 命名为doAdd , doList , doDel 等 . toXxx表示转到Xxx页面 , 而doXxx表示执行Xxx操作 , 通过这样的命名可以是程序逻辑更清晰 , 减少出错的几率 .

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值