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

QQ登录

只需一步,快速开始

查看: 3987|回复: 7

按钮调用action,action调用存储过程出错

[复制链接]

5

主题

17

帖子

31

积分

新手上路

Rank: 1

积分
31
QQ
发表于 2013-11-18 15:31:01 | 显示全部楼层 |阅读模式
按钮调用action,action调用存储过程出错
w文件按钮动作如下
        var params = new justep.Request.ActionParam();
        // List参数
        var listParam = new justep.Request.ListParam();
        listParam.add(justep.xbl('dataMaster').getCurrentID());
        listParam.add(justep.xbl('dataMaster').getCurrentID());
        params.setList("param_list", listParam);
        // 调用动作
        alert(justep.xbl('dataMaster').getCurrentID());
        justep.Request.sendBizRequest2({
                "dataType": "application/json",
                "action": "ckdsh",
                "parameters": params,
                "callback": function(callbackData) {
                        callbackData.ignoreError = false;
                        if (callbackData.state) {
                                justep.xbl("tip1").show({"message": "传入List参数调用成功。"});
                               
                                var data = callbackData.response;
                                // 输出返回结果
                                TextOut.setText("result1", data);
                        }
                }
        });



action如下:
public static String ckdsh(){
                    
                        Connection ct=null;
                Transaction tr=null;
                CallableStatement c=null;
                System.out.print("hello");
                try{
                        tr=new Transaction();
                        ct=tr.getConnection("/erp/sfj/data");
                        com.justep.model.Model fnModel=com.justep.model.ModelUtils.getModel("/system/logic/fn");
        //                String exp="";                
        //                exp="currentPersonName()";
        //                String name=(String)com.justep.system.data.Expression.evaluate(exp, null, fnModel);  
                        c=ct.prepareCall("{call ckdsh(?,?,?)}");
                            c.setString(1,fid);
                            c.setString(2,shr);
                            c.registerOutParameter(3,java.sql.Types.INTEGER);
                            c.execute();
                            int res=c.getInt(3);
                            if(res==1){
                                    return "审核成功";}
                            if(res==2){
                                    return "单据已审核,不能重复审核";}
                            if(res==3){
                                    return "请先保存";}
                            System.out.print(res);
                            return"审核失败";
                            
                        }catch(Exception e){
                               
                                e.printStackTrace();
                                return "审核失败";
                                }finally{
                                                try{if(null!=c){
                                                        c.close();}
                                                        if(null!=ct) ct.close();
                                                        }catch(Exception e){}
                                                }
                }               
}

报错提示:
JUSTEP150084, "/erp/sfj/process/ckd/ckdsh"没有定义参数"param_list"详细

5

主题

17

帖子

31

积分

新手上路

Rank: 1

积分
31
QQ
 楼主| 发表于 2013-11-18 15:32:40 | 显示全部楼层
public static String ckdsh(String fid,String shr){
这个加上去还是一样。

5

主题

17

帖子

31

积分

新手上路

Rank: 1

积分
31
QQ
 楼主| 发表于 2013-11-18 15:34:54 | 显示全部楼层
2013-11-18 15:34:27 action:<?xml version="1.0" encoding="UTF-8"?>
<action direct-execute="false" process="/erp/sfj/process/ckd/ckdProcess" activity="mainActivity" action-flag="__action_0__" executor="PSN01" execute-context="" name="ckdsh"><parameters xmlns:xbiz="http://www.justep.com/xbiz#"><parameter name="param_list"><xbiz:list><xbiz:simple type="http://www.w3.org/2001/XMLSchema#String"><![CDATA[EA0E28EF6E7C4D748AEA953A2D6EB7F6]]></xbiz:simple><xbiz:simple type="http://www.w3.org/2001/XMLSchema#String"><![CDATA[EA0E28EF6E7C4D748AEA953A2D6EB7F6]]></xbiz:simple></xbiz:list></parameter></parameters></action>
com.justep.exception.BusinessException: 编码: JUSTEP150084; 提示: "/erp/sfj/process/ckd/ckdsh"没有定义参数"param_list"
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.util.Utils.check(Unknown Source)
        at com.justep.system.transform.RequestTransform.transActionParams(Unknown Source)
        at com.justep.system.transform.RequestTransform.transform(Unknown Source)
        at com.justep.system.action.Engine.translateParameters(Unknown Source)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:595)

控制台信息。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2013-11-18 15:46:48 | 显示全部楼层
params.setList("param_list", listParam);
你给action传了一个名为param_list的List参数,但java方法中并没有这个参数
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴

5

主题

17

帖子

31

积分

新手上路

Rank: 1

积分
31
QQ
 楼主| 发表于 2013-11-18 15:49:36 | 显示全部楼层
那要做如何调整?我是参考演示模板里面做的。

5

主题

17

帖子

31

积分

新手上路

Rank: 1

积分
31
QQ
 楼主| 发表于 2013-11-18 15:51:56 | 显示全部楼层
我想做的是  按钮调用action,action调用存储这么一个动作 ,,中间参数有2个。fid+登录用户名,不知道哪里有没有标准模块,我可以套用一下。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2013-11-18 17:44:48 | 显示全部楼层
用两个参数那就按你的类型去给两个参数赋值了,不要用List
参考http://bbs.justep.com/forum.php? ... 1&pid=164930557
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴

5

主题

17

帖子

31

积分

新手上路

Rank: 1

积分
31
QQ
 楼主| 发表于 2013-12-24 09:40:27 | 显示全部楼层
请结贴
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

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

GMT+8, 2024-11-22 23:17 , Processed in 0.065338 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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