首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

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

2012-11-23 
Struts2.0 ModelDriven中对象属性的传参方式公司最近决定用最近用Struts2作为前端的MVC框架,在开发过程中

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交互方式,希望对大家有帮助!

热点排行