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

QQ登录

只需一步,快速开始

查看: 9138|回复: 12

[结贴] 如何使用JS创建一个Map对象,赋值,并调用Action

[复制链接]

36

主题

140

帖子

344

积分

中级会员

Rank: 3Rank: 3

积分
344
QQ
发表于 2018-8-23 17:40:02 | 显示全部楼层 |阅读模式
调试发现传递的值paramMap这个值总是空的,不知道怎么回事
JS代码
        var ParamMap=new Map;
        ParamMap.put(Person, "String")



91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-8-24 15:27:12 | 显示全部楼层
java中判断字符串相等用equals函数
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

36

主题

140

帖子

344

积分

中级会员

Rank: 3Rank: 3

积分
344
QQ
 楼主| 发表于 2018-8-24 08:31:46 | 显示全部楼层
Map sMap = new HashMap();
sMap.put("吕巍", "String");

如果在action创建map的话,返回值显示正常
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-8-24 08:39:45 | 显示全部楼层
参考/UI2/demo/actions/process/invokeAction/mainActivity.w
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

36

主题

140

帖子

344

积分

中级会员

Rank: 3Rank: 3

积分
344
QQ
 楼主| 发表于 2018-8-24 09:37:50 | 显示全部楼层
本帖最后由 吕巍 于 2018-8-24 09:39 编辑
jishuang 发表于 2018-8-24 08:39
参考/UI2/demo/actions/process/invokeAction/mainActivity.w

传递参数没问题了,但是调用action还是不行呢,直接在action中直接写个map就可以调用成功,try语句开始那两句
  1. public static Table QueryPro(Map ParamMap,String ProName){
  2.                 java.sql.Connection conn;
  3.                 //字符串截取
  4.         try {          //Map sMap = new HashMap();
  5.                         //sMap.put("吕巍", "String");
  6.                 conn = com.justep.model.ModelUtils.getConnection("/yongyoujicheng/MRPqinggou/data");               //更改数据源
  7.                 java.sql.CallableStatement proc = conn.prepareCall("{call "+ProName+ParamSeparate(ParamMap)+"}");   //更改ACCTION名
  8.                 int i = 0;
  9.                 Iterator<Entry<String, String>> entries = ParamMap.entrySet().iterator();
  10.                         while (entries.hasNext())
  11.                         {
  12.                                 Map.Entry entry = (Map.Entry) entries.next();
  13.                                 String key = (String)entry.getKey();
  14.                                 String value = (String)entry.getValue();
  15.                                 if(value=="String")
  16.                                 {
  17.                                         i++;
  18.                                         proc.setString(i, key);
  19.                                 }
  20.                         }
  21.                         
  22.                 ResultSet rt = proc.executeQuery();
  23.                 Table table =  com.justep.system.util.BizUtils.resultSet2Table(rt,"/yongyoujicheng/MRPqinggou/data");
  24.                 return table;
  25.         }
  26.         catch (NamingException e) {
  27.                 // TODO Auto-generated catch block                                
  28.                 e.printStackTrace();
  29.                 return null;
  30.         }
  31.         catch (SQLException e) {
  32.                 // TODO Auto-generated catch block
  33.                 e.printStackTrace();
  34.                 return null;
  35.             }
  36.         }

  37.         public String ParamSeparate(Map N){
  38.                 String s="(";
  39.                 Iterator<Entry<String, String>> entries = N.entrySet().iterator();
  40.                 while (entries.hasNext())
  41.                 {
  42.                         Map.Entry entry = (Map.Entry) entries.next();
  43.                         s = s + "?,";
  44.                 }
  45.                 s = s.substring(0,s.length()-1);
  46.         s = s+")";
  47.         
  48.                 return s;
复制代码



回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-8-24 09:57:48 | 显示全部楼层
把try catch去掉看看具体的报错信息
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

36

主题

140

帖子

344

积分

中级会员

Rank: 3Rank: 3

积分
344
QQ
 楼主| 发表于 2018-8-24 11:20:59 | 显示全部楼层
jishuang 发表于 2018-8-24 09:57
把try catch去掉看看具体的报错信息

又测了一下,if(value=="String")这个IF语句不成立,但是输出却是String,不知道是哪的错。
  1. if(s=="String")
  2.                                 {
  3.                                         s="s=String";
  4.                                 }
  5.                                 else
  6.                                 {
  7.                                         s= s + "key:" +key +";value:"+value+";";
  8.                                 }
复制代码



0G{T3VYH_VU6XIDQN4~%)1K.png
回复 支持 反对

使用道具 举报

36

主题

140

帖子

344

积分

中级会员

Rank: 3Rank: 3

积分
344
QQ
 楼主| 发表于 2018-8-24 11:26:29 | 显示全部楼层
jishuang 发表于 2018-8-24 09:57
把try catch去掉看看具体的报错信息

把那个if判断去掉就可以了,但是这样就只能传String类型的参数给存储过程了,帮忙看下吧
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-8-24 13:28:55 | 显示全部楼层
判断类型就是java标准的,到网上查找
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

36

主题

140

帖子

344

积分

中级会员

Rank: 3Rank: 3

积分
344
QQ
 楼主| 发表于 2018-8-24 15:07:39 | 显示全部楼层
jishuang 发表于 2018-8-24 13:28
判断类型就是java标准的,到网上查找

我用eclipse测这段代码 value的值就是String
用X5就不行
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-8-24 15:17:15 | 显示全部楼层
map中的值输出看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 02:59 , Processed in 0.093067 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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