2013-04-15 90 views
0
var catids = new Array(); 

我有一個catids數組,其中我存儲了像下面那樣的複選框值。從列表中獲取數組值從javascript到列表

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

貓變量的形式是這樣的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]打印什麼

我需要它作爲一個整數回來。 我在做什麼錯誤?

+1

您只留下了最重要的部分:您如何將這個「貓」發送給java? – SoonDead

+0

請輸入一些示例用法od'getTasks'方法 - categoriesIds在方法調用之前的外觀以及它應該如何顯示? – pepuch

回答

0

我想它的代碼workd罰款

getTasks("1,2,3"); 

檢查什麼categoriesIds的值發送到getTask

2

我會做這種方式。

  1. 的JavaScript創建像使用例如GsonJackson庫這個{"categoryIds": [1,2,3,4,5]}
  2. Java的轉換器轉換JSON到Java POJO對象JSON對象。
  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; 
    } 
} 
0

發送該從網頁中的form parameter。然後從java中的HttpServletRequest request對象得到這個。

request.getParameter('categoryId');