繁体   English   中英

将数组的值从javascript获取为java作为列表

[英]getting the values of array from javascript to java as list

var catids = new Array();

我有一个catids数组,我存储已选中的复选框值,如下所示。

cat = $("input[name=catChkBox]:checked").map(function () {
  return $(this).data('name');
  }).get().join(",");

cat变量形成类似于1,2,3的东西..

我想将这个“cat”发送到java方法并打印这些值。

我通过像这样的dwr调用将值传递给java

  DataHandler.getTasks( categories, {callback:function(data){
  }, errorHandler:function(){
  },async:false
   });

我为pojo配置了dwr。 我应该为参数配置什么?

我尝试了以下代码,但我没有得到任何东西。

public List<Facade> getTasks(String myIds){
 String[] ids = catids .split(",");
 System.out.println("-------size of cat id------------" + myIds.length);
 for (int i=0; i<myIds.length;i++)
 System.out.println(myIds[i]);

//最后它将返回一个pojo,它将在dwr调用的数据中接收它。

-------猫咪的大小------------是1 myIds [i]什么都不打印

我需要它作为整数回来。 我做错了什么?

我会这样做的。

  1. JavaScript创建像这样的json对象{"categoryIds": [1,2,3,4,5]}
  2. Java转换器使用例如GsonJackson库将json转换为java POJO对象。
  3. 转换后,您可以使用具有类别列表的java POJO对象。

如果您使用此解决方案,您的代码将更加清晰,您将能够使用相同的清晰解决方案在JavaScript和Java之间共享更多对象。

示例(伪代码)

CategorList类

public class CategoryList {
    private ArrayList<Category> categoryList;
    // getters and setters
}

变流器

public class CategoryListConverter {
    public CategoryList convert(String json) {
        Gson g = new Gson();
        CategoryList cl = g.fromJson(json, CategoryList.class);

        return cl;
    }
}

我尝试了它运作良好的代码

   getTasks("1,2,3");

检查将categoriesIds的值发送到getTask的内容

从网页发送此form parameter 然后从java中的HttpServletRequest request对象获取此信息。

request.getParameter('categoryId');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM