起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3458|回复: 7

[结贴] 自定义Action中的listParam参数问题

[复制链接]

32

主题

94

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
发表于 2013-9-14 10:04:08 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
请教一下
我自己定义了一个Action,updateListVisitDateAction。生成的procdeure如下:
  <procedure name="updateListVisitDateProcedure" code-model="/PosAdmin/BaseInfo/logic/code" code="BaseInfo.updateListVisitDate">
    <parameter name="paramList" type="List"/>
  </procedure>
在另外个地方引用进来了,在process增加了该Action,明明看到有list参数,见图
2.png
但我调用的时候,就报错,不存在参数[listParam]

com.justep.model.exception.ModelException: com.justep.model.exception.ModelException: /PosAdmin/TaskInfo/process/TaskArrangements/updateListVisitDateAction定义中不存在参数[listParam]




调用的js是这样的:
    actionParam.setList("listParam",g_listParam);
   
justep.Request.sendBizRequest2({
  dataType: "json",
  action: "updateListVisitDateAction",
  parameters: actionParam,
  callback: function(result) {
   if (result.state) {
    //alert("调用成功!");
    clearlist();
   } else {
    cancel = true; //失败则回滚事务
    clearlist();
    throw new Error("调用失败!|" + result.response.message);
   }
  }


32

主题

94

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2013-9-14 10:23:57 | 显示全部楼层
我再看手册中的例子,listParam的元素都只是一般string/integer等,listParam中的元素用map应该没问题吧,我上面用的是map.
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2013-9-14 13:38:55 | 显示全部楼层
js中调用actoin时,参数的名称与定义不一致, 你定义的是paramList,而js调用时用的是listParam
回复 支持 反对

使用道具 举报

32

主题

94

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2013-9-15 09:08:34 | 显示全部楼层
参数名字已经统一。但在Action中接收参数的时候出了问题。因为参数paramList是个List,其中的元素是Map<String, Object>。请问应该怎么取出来,现在报错:
保存数据失败! compile error :
D:\x5\X5.2.5_dev\X5.2.5\model\BIZ\PosAdmin\BaseInfo\logic\code\dsrc\BaseInfo.java:52: 不兼容的类型
找到: java.lang.Object
需要: java.util.Map
paramMap = paramList.get(i);

我的java代码是这样的
Map<String, Object> paramMap = new HashMap<String, Object>();
for (int i=0;i<paramList.size();i++){
paramMap = paramList.get(i);
}
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2013-9-16 09:44:38 | 显示全部楼层
这是编译错误,把java文件所在的dsrc目录设置为源码路径
参数类型应该定义为 List<Map<String, Object>>
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

32

主题

94

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2013-9-16 10:07:06 | 显示全部楼层
参数类型在action.m文件中只可以选择为list啊?怎么改为List<Map<String, Object>> ?
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2013-9-16 10:21:31 | 显示全部楼层
在java文件中的方法的参数定义里写成List<Map<String, Object>>
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

32

主题

94

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2013-9-16 10:59:36 | 显示全部楼层
谢谢,可以结贴了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-20 14:44 , Processed in 0.086748 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表