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

QQ登录

只需一步,快速开始

查看: 1463|回复: 6

[结贴] 关于ACTION返回值的问题

[复制链接]

55

主题

242

帖子

790

积分

高级会员

Rank: 4

积分
790
QQ
发表于 2014-11-25 11:37:46 | 显示全部楼层 |阅读模式
本帖最后由 lz_net 于 2014-11-25 11:41 编辑

我有一个ACTION用来作数量比较,并返回相应批次号:
public static Map<String, Object> return_PCH(String ID) throws NamingException, SQLException{
                //根据主表返回出库批次号
                String CHECK_PCH = "SELECT DISTINCT HX_CRK.fLSPCH AS fLSPCH FROM HX_CRK HX_CRK WHERE HX_CRK.fCRKLZZBID='"+ID+"'";
                Connection conn = null;
        Statement stat = null;
        ResultSet rs = null;
        Map<String, Object> result = new HashMap<String, Object>();
        conn=ModelUtils.getConnection("/HX/ERP/data");
        ContextHelper.getTransaction().begin(conn);
        stat = conn.createStatement();
        try{
                rs = stat.executeQuery(CHECK_PCH);
                while(rs.next()){
                        String fLSPCH = rs.getString("fLSPCH");
                        String MAX_LLCCPSL = "SELECT MAX(HX_CRK.fLLCCPSL) AS MAX FROM HX_CRK HX_CRK WHERE HX_CRK.fLSPCH = '"+fLSPCH+"'";
                        String MIN_LLCCPSL = "SELECT MIN(HX_CRK.fLLCCPSL) AS MIN FROM HX_CRK HX_CRK WHERE HX_CRK.fLSPCH = '"+fLSPCH+"'";
                        Connection conn1 = null;
                Statement stat1 = null;
                ResultSet rs1 = null;
                ResultSet rs2 = null;
                BigDecimal fLLCCPSL_MIN = new BigDecimal("0.0");
                BigDecimal fLLCCPSL_MAX = new BigDecimal("0.0");
                conn1=ModelUtils.getConnection("/HX/ERP/data");
                ContextHelper.getTransaction().begin(conn1);
                stat1 = conn1.createStatement();
                try{
                        rs1 = stat1.executeQuery(MAX_LLCCPSL);
                        if(rs1.next()){
                                fLLCCPSL_MAX = rs1.getBigDecimal("MAX");
                        }
                        rs2 = stat1.executeQuery(MIN_LLCCPSL);
                        if(rs2.next()){
                                fLLCCPSL_MIN = rs2.getBigDecimal("MIN");
                        }
                        if(!fLLCCPSL_MAX.equals(fLLCCPSL_MIN)){
                               result.put("LSPCH", fLSPCH);
                        }
                }
                finally{
                        if(rs1 != null){
                            rs1.close();
                            rs1 = null;
                         }
                        if(rs2 != null){
                            rs2.close();
                            rs2 = null;
                         }
                }
                }
        }
        finally{
                if(rs != null){
                   rs.close();
                   rs = null;
                }
        }
        return result;
        }


在JS中将结果存入cdata:
var param = new justep.Request.ActionParam();
            param.setString('ID', ZBID);
            justep.Request.sendBizRequest2({
        dataType: "json",
        action: "return_PCH",
        parameters : param,
        callback: function(result) {
        if (result.state) {
            justep.xbl("LSPCH").loadJson(result.response);
           }
        else{
            throw new Error("调用失败!|" + result.response.message);
            }
        }
       });


执行报错:Uncaught Type Cannot read property 'length' of undefined


我对map、数组操作不熟悉,请问怎样修改呢?谢谢

89

主题

1377

帖子

1837

积分

金牌会员

Rank: 6Rank: 6

积分
1837
QQ
发表于 2014-11-25 11:44:30 | 显示全部楼层
回复 支持 反对

使用道具 举报

55

主题

242

帖子

790

积分

高级会员

Rank: 4

积分
790
QQ
 楼主| 发表于 2014-11-25 11:47:48 | 显示全部楼层
cyteamo 发表于 2014-11-25 11:44
http://bbs.justep.com/forum.php?mod=viewthread&tid=33841&extra=page%3D1
参考一下

参考过,好像没有合适的。
本人半路过家,对JAVA一知半解,能否直接明示?
回复 支持 反对

使用道具 举报

89

主题

1377

帖子

1837

积分

金牌会员

Rank: 6Rank: 6

积分
1837
QQ
发表于 2014-11-25 11:49:03 | 显示全部楼层
lz_net 发表于 2014-11-25 11:47
参考过,好像没有合适的。
本人半路过家,对JAVA一知半解,能否直接明示? ...

你现在是报什么错? 把这个文件设置为源码路径看看先
回复 支持 反对

使用道具 举报

55

主题

242

帖子

790

积分

高级会员

Rank: 4

积分
790
QQ
 楼主| 发表于 2014-11-25 11:52:58 | 显示全部楼层
cyteamo 发表于 2014-11-25 11:49
你现在是报什么错? 把这个文件设置为源码路径看看先

报错上面已经写了:Uncaught Type Cannot read property 'length' of undefined

源码路径没显示语法问题。我认为是ACTION是用MAP,JS按TABLE接收有问题。

或者请如何将ACTION符合条件的结果返回到页面上?
回复 支持 反对

使用道具 举报

89

主题

1377

帖子

1837

积分

金牌会员

Rank: 6Rank: 6

积分
1837
QQ
发表于 2014-11-25 11:58:32 | 显示全部楼层
lz_net 发表于 2014-11-25 11:52
报错上面已经写了:Uncaught Type Cannot read property 'length' of undefined

源码路径没显示语法问题 ...

可能是map不支持data直接loadJson这个方法.你可以取出来一个个的赋值试试
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35936
发表于 2014-11-25 13:38:39 | 显示全部楼层
返回的Table的才能直接loadJson给data

返回的map不能这样操作,可以取出map中的值,自己给data赋值,可以参考/UI/demo/actions/process/invokeAction/mainActivity.w
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 17:21 , Processed in 0.069404 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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