0
var catids = new Array();

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

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

cat 变量形成这样的 1,2,3..

我想将此“猫”发送到 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调用的数据中接收它。

--------猫 id 的大小------------ 为 1 myIds[i] 不打印任何内容

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

4

3 回答 3

2

我会这样做。

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

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

示例(伪代码)

分类列表类

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;
    }
}
于 2013-04-15T06:38:13.967 回答
0

我尝试了它工作正常的代码

   getTasks("1,2,3");

检查 categoryIds 的值发送到 getTask

于 2013-04-15T06:37:04.780 回答
0

将此作为form parameter来自网页的发送。然后从HttpServletRequest requestjava中的对象获取这个。

request.getParameter('categoryId');
于 2013-04-15T06:39:49.770 回答