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

QQ登录

只需一步,快速开始

查看: 1296|回复: 5

[结贴] 求.j调用action实例

[复制链接]

13

主题

47

帖子

114

积分

初级会员

Rank: 2

积分
114
QQ
发表于 2014-11-8 15:52:43 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
恕我愚笨,http://bbs.justep.com/thread-51290-1-1.html 中给出的实例不是很详细,查API也没有实力描述,.j文件如何调用Action?
API中解释如下:
public static ActionResult invokeActions(Actions actions, String accept, String bsessionID, String language, Callback callback)
在同一个事务内调用多个Action
参数: Actions actions 动作列表 String accept 期望返回数据的格式 String bsessionID 业务session标识 String language 语言 Callback callback 回调函数 返回: ActionResult result 返回值
其中actions 参数如何定义?以及如何给action传参?

13

主题

47

帖子

114

积分

初级会员

Rank: 2

积分
114
QQ
 楼主| 发表于 2014-11-8 17:47:22 | 显示全部楼层
找了个例子写了下,但是调用不到.j文件:
js中调用代码如下:
  1. $.ajax({
  2.   async:false,
  3.   type:"post",
  4.   dataType:"json",
  5.   url:"/leaderMonitoring/purchaseQuery/process/outLine/outLine.j",
  6.   data:{
  7.     theYear:document.getElementById("yearSelect").value,
  8.     businessID :justep.Context.getRequestParameter("bsessionid")  
  9.   },
  10.   error:function(error,status,text){
  11.     alert(text);
  12.   },
  13.   success:function(result){
  14.     justep.xbl("mainData").loadJson(result.response);
  15.   }  
  16. });
复制代码


.j代码

  1. public void execute(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
  2.                   String theYearStr = request.getParameter("theYear");
  3.                    int theYear = Integer.parseInt(theYearStr);
  4.                    System.out.print(theYearStr);
  5.                    String businessID = request.getParameter("businessID");
  6.                    Action action = new Action();
  7.                    action.setProcess("/leaderMonitoring/purchaseQuery/process/outLine/outLineProcess");
  8.                    action.setActivity("mainActivity");
  9.                    action.setName("purchaseOutline");
  10.                    action.setParameter("theYear", theYear);
  11.                    ActionResult ar = ActionEngine.invokeAction(action, ActionUtils.JSON_CONTENT_TYPE, businessID, null, null);
  12.                    if(ar.isSuccess()){
  13.                      response.setCharacterEncoding("UTF-8");
  14.                      response.setContentType(ActionUtils.JSON_CONTENT_TYPE);
  15.                      response.getWriter().write(ar.getContent().toString());
  16.                      response.resetBuffer();
  17.                    }else{
  18.                      throw new RuntimeException(ar.getMessage());
  19.                    }
  20.         }
复制代码
回复 支持 反对

使用道具 举报

13

主题

47

帖子

114

积分

初级会员

Rank: 2

积分
114
QQ
 楼主| 发表于 2014-11-8 19:32:16 | 显示全部楼层
解决了。结贴吧,url用相对地址
回复 支持 反对

使用道具 举报

37

主题

713

帖子

3310

积分

内部用户

积分
3310
发表于 2014-11-8 20:04:40 | 显示全部楼层
是ajax里面的url不对,你参照那个帖子里面的'/x5/demo/actions/process/integration/x5Login.j',前面至少少了x5
回复 支持 反对

使用道具 举报

13

主题

47

帖子

114

积分

初级会员

Rank: 2

积分
114
QQ
 楼主| 发表于 2014-11-9 09:50:54 | 显示全部楼层
jholy 发表于 2014-11-8 20:04
是ajax里面的url不对,你参照那个帖子里面的'/x5/demo/actions/process/integration/x5Login.j',前面至少 ...

经过我测试,这里的url地址好像是被调用文件相对与调用文件的相对路径改成 "outLine.j"就可以调用了
回复 支持 反对

使用道具 举报

37

主题

713

帖子

3310

积分

内部用户

积分
3310
发表于 2014-11-10 10:47:14 | 显示全部楼层
相对也可以,绝对路径是从ip以后的,也就是包含/x5的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-23 23:13 , Processed in 0.061808 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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