java vo的使用_使用VO传递参数的设计 | 学步园

在使用openamf传参到java后台时,有时需要传递大量的参数,那么在前台的时候我们常用的方法是把参数设置给一个对象,通过openamf传到后台转成Map后,我们通过Map的key值去取相应的参数。如下所示例:

varrequest:Object =newObject();

request.coNbr=txtCoNbr.text;

request.servNbr = txtServNbr.text

Java后台在接收到这个参数后去从map中提取这些参数:

publicMap find( Map request)throwsException {

String coNbr = (String)request.get(“coNbr”);

String servNbr = (String)request.get(“servNbr”);

}

而且如果openamf的序列化的force-lower-case-keys参数设置为true时,map在get键值时还需要用小写:

String coNbr = (String)request.get(“conbr”);

这样,给代码的开发维护造成一定的困难,不容易发现其中的错误。特别是在需要传递很多参数时,前台设置和解析这些参数也是麻烦的事,对前台的传递参数前的验证也是不容易去做。

因此考虑使用VO来进行参数传递,VO中的属性包括一个传到后台的参数所需要几个属性,参数名称、参数描述、参数值、动作类型、是否必须等等。

其中的动作类型是预留的,用来表示如果要在后台数据库中查询是执行“=”还是“IN”的操作,是否必须是用来在前台进行验证时需要的。

Flex前台和Java后台设计相同结构的VO,并在openamf-config.xml中配置类型的自动映射。

然后前台和后台分别提供个解析参数的方法,就可以通用了,可以传递所需要的参数。

这样做的好处主要有下面几点:

l统一参数传递的方法

l提供统一的前台参数简单验证

l简化参数传递时的设置

l避免openamf序列化时的大小写问题

下面是具体的设计思路

1.1AS的条件VO对象设计前后台VO对象

1.1.1AS的条件VO对象

提供了条件所需要的几个基本属性,并提供了静态的参数解析方法,前面的常量是需要传递到后台的参数,大小写区分便于理解。传递到Java后台的条件是个VO对象数组(Array),这样java就能直接解析成ArrayList,ArrayList中是经过openamf类映射后的Java VO对象。

代码如下:

packagebss.flex.vo

{

importbss.base.control.AlertFX;

importbss.base.util.StringUtils;

/**

* 查询条件VO

* 用来保存单个查询条件

*

*

*/

publicclassConditionVO

{

publicstaticconstPROD_SPEC:String ="prodSpecId";

publicstaticconstORDER_TYPE:String ="orderTypeId";

publicstaticconstCONBR:String ="coNbr";

publicstaticconstACC_NBR:String ="servNbr";

publicstaticconstJOB_SPEC:String ="currentJobSpecId";

publicstaticconstBSS_ORDER_STATE:String =&#

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值