Struts2.0 ModelDriven中对象属性的传参方式

公司最近决定用最近用Struts2作为前端的MVC框架,在开发过程中遇到了领域模型ModelDriven中包含多个对象属性,那么页面怎么封装这个属性才能被后台的model对象接收到呢?

    

      以下是开发实例,具体包含了从页面到后台的Action参数传递过程的介绍:


1. 包含对象属性的ModelDriven对象,用于页面和后台Action的参数传递, 需要注意的是对象属性需要实例化,即属性对象的实例在大对象中已经被new过。

 public class GoodsDO extends Model{

 /**
  * 货品属性VO
  * */
 private GoodsPropVO goodsPropVO = new GoodsPropVO();
 
 /**
  * 货品VO
  * */
 private GoodsVO goodsVO = new GoodsVO();


 public GoodsPropVO getGoodsPropVO() {
  return goodsPropVO;
 }


 public void setGoodsPropVO(GoodsPropVO goodsPropVO) {
  this.goodsPropVO = goodsPropVO;
 }


 public GoodsVO getGoodsVO() {
  return goodsVO;
 }


 public void setGoodsVO(GoodsVO goodsVO) {
  this.goodsVO = goodsVO;
 }

 
}

 

2. 页面的参数属性定义格式为:对象属性名.属性名,如下是一段js提交form的代码,主要说明页面属性定义的格式:

$.jsonform({
  items : [ {
   id : 'cate_name',
   mapping : 'goodsVO.cate_name'
  }, {
   id : 'goods_name',
   mapping : 'goodsVO.goods_name'
  }, {
   id : 'goods_code',
   mapping : 'goodsVO.goods_code'
  }, {
   id : 'reg_code',
   mapping : 'goodsVO.reg_code'
  }, {
   id : 'goods_unit',
   mapping : 'goodsVO.goods_unit'
  }, {
   id : 'goods_pinyin',
   mapping : 'goodsVO.goods_pinyin'
  }, {
   id : 'brand_name',
   mapping : 'goodsVO.brand_name'
  }, {
   id : 'brand_name',
   mapping : 'goodsVO.brand_name'
  }, {
   id : 'company_name',
   mapping : 'goodsVO.company_name'
  } , {
   id : 'temp_min',
   mapping : 'goodsPropVO.temp_min'
  }, {
   id : 'temp_max',
   mapping : 'goodsPropVO.temp_max'
  }, {
   id : 'hum_min',
   mapping : 'goodsPropVO.hum_min'
  }, {
   id : 'hum_max',
   mapping : 'goodsPropVO.hum_max'
  }, {
   id : 'company_name',
   mapping : 'goodsVO.company_name'
  }, {
   id : 'length',
   mapping : 'goodsPropVO.length'
  }, {
   id : 'width',
   mapping : 'goodsPropVO.width'
  },{
   id : 'height',
   mapping : 'goodsPropVO.height'
  },{
   id : 'weight',
   mapping : 'goodsPropVO.weight'
  }]
 }); 

 

3. Action中注册ModelDriven 对象:

 

public class GoodsAction implements ModelDriven<GoodsDO>{

 

  /**实例化 ModelDriven 对象,Struts 不会主动帮你实例的*/

  private GoodsDO goodsDO = new GoodsDO();

 

//这里是实现接口方法

@Override
      public GoodsDO getModel() {
     // TODO Auto-generated method stub

//别忘记了,要把返回值写上哦
     return goodsDO;
     }

 

}

 

通过上面说明就可以知道Struts 2 中MVC的model在页面和Action交互方式,希望对大家有帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值