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

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: s763580682

[结贴] 怎样在BIZ层的java方法中获取UI的.w的ajax请求的参数?

[复制链接]

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2013-10-14 09:13:29 | 显示全部楼层
在什么时机调用的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

26

主题

112

帖子

169

积分

初级会员

Rank: 2

积分
169
QQ
 楼主| 发表于 2013-10-14 09:21:51 | 显示全部楼层
jishuang 发表于 2013-10-14 09:13
在什么时机调用的?

是这样的,我在自定义的.w页面中,有自己从数据库中取得待办任务列表,然后在js中取待办任务的第一条的taskID,然后把第一条待办任务的taskID传入放在.w页面的流程轨迹图组件显示流程轨迹图,当流程轨迹图显示完成后把这个taskID传给另外一个js函数发起一个ajax请求,就这个时候调用的,我想把这个taskID作为ajax向BIZ的action动作请求的一个参数,到后台获取查这个taskID下的业务数据的ID号,再去获取业务数据,然后返回!就是这样,具体的调用是在.w流程图初始化完成后。请您看下我的思路、方法是不是有问题,帮忙分析分析,谢谢了哈!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2013-10-14 11:25:45 | 显示全部楼层
async:false用同步请求看一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

26

主题

112

帖子

169

积分

初级会员

Rank: 2

积分
169
QQ
 楼主| 发表于 2013-10-14 12:39:11 | 显示全部楼层
jishuang 发表于 2013-10-14 11:25
async:false用同步请求看一下

还是不行,我把具体的代码和动作设置贴一下,您帮忙好好看看怎么回事吧。
1. .w的js如下(那个obj其实还是$("#currentProcess").val();):
function acquireBussinessDadaByTaskId(obj){//由流程的任务ID号获取流程的业务数据--启动流程时的业务表单数据
var currentTask=$("#currentProcess").val();//获取当前流程相关隐藏域的流程任务ID号
alert("currentTask:"+currentTask);
var param=new justep.Request.ActionParam();
param.setString('param', currentTask);
alert("param getParameter:"+param.getParam('param'));
var r = justep.Request.sendBizRequest2({
  dataType: "application/json",
  action: "acquireBDataByTaskID",
  parameter:param,
  async: false,
  callback: function(result) {
   if (result.state) {
    alert('success');
   } else {
    throw new Error("调用失败!|" + result.response.message);
   }
  }
});
alert("请求已发送!acquireBussinessDadaByTaskId");
}
为了避免冲突,我把参数的名字改成param了,相应的动作配置也改了。
2.action的代码如下:
public static String acquireBDataByTaskID(String param){
  System.out.println("没用ContextHelper 取值前的参数值是:"+param);
  param=(String)ContextHelper.getActionContext().getParameter("param");
  System.out.println("------------------>acquireBDataByTaskID:"+param);
  return "success";
}
3.运行的结果如下:
[[2013-09-02 15:05:35, admin, AA67913E0F49400982802A7FEB5FADD0, 活动环节3:测试
Task     transDate     dateTime=2013-09-02 15:05:35
Task     transDate     dateTime=2013-08-30 16:36:50
没用ContextHelper 取值前的参数值是:null
------------------>acquireBDataByTaskID:null
4.动作的配置在图中给出了。

动作配置

动作配置
回复 支持 反对

使用道具 举报

26

主题

112

帖子

169

积分

初级会员

Rank: 2

积分
169
QQ
 楼主| 发表于 2013-10-14 14:05:36 | 显示全部楼层
s763580682 发表于 2013-10-14 12:39
还是不行,我把具体的代码和动作设置贴一下,您帮忙好好看看怎么回事吧。
1. .w的js如下(那个obj其实还 ...

好消息,问题已经解决了,我又仔细看了起步的高级开发文档,传递参数的parameter是个复数,是parameters,并且在action还需要用一个函数取传过来的参数,param=(String)ContextHelper.getActionContext().getParameter("param");  这样就可以在.w向action发起带参数的ajax请求了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-4 16:51 , Processed in 0.105593 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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