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调用的数据中接收它。
------- cat id的大小------------是1 myIds [i]什么都不打印
我需要它作为整数回来。 我在做什么错误?
答案 0 :(得分:2)
我会这样做。
{"categoryIds": [1,2,3,4,5]}
如果您使用此解决方案,您的代码将更加清晰,您将能够使用相同的清晰解决方案在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;
}
}
答案 1 :(得分:0)
我尝试了很好的代码
getTasks("1,2,3");
检查categoriesIds的值是什么发送到getTask
答案 2 :(得分:0)
从网页发送此form parameter
。然后从java中的HttpServletRequest request
对象获取此内容。
request.getParameter('categoryId');