如何在Jsoup中发送复选框数据

时间:2012-08-26 20:03:16

标签: java jsoup

我正在尝试使用Jsoup发布复选框数据并且遇到一些麻烦。我认为当选择多个复选框时,它们会作为一个数组发送到服务器,但可能不是这样吗?

这是我认为正确的:

HashMap<String, String> postData = new HashMap<String, String>();
postData.put("checkbox", "[box1,box2,box3]");

Jsoup.connect("somesite").data(postData).post();

这似乎无法正常工作。但是,如果我只发送一个复选框,那么我得到的预期结果让我相信我对复选框表格数据发送的理解是不正确的。

这有效:

postData.put("checkbox", "box2");

也许HashMap是错误的类型。根据Jsoup documentation,我可以多次调用.data(键,值),但我希望有一些比这更清洁的东西。

2 个答案:

答案 0 :(得分:1)

如果您有多个复选框,则可能每个复选框都有自己的name属性。然后,您应该为每个此类名称致电.data(name, value)

AFAIK无法将这些来自data的来电“折叠”为一次通话。

答案 1 :(得分:0)

也许您可以尝试以下内容?

 HashMap<String,String> paramHM=new HashMap<String,String>();

 ArrayList<String> checkboxVal=new ArrayList<Strnig>();
 / .. put request.getParametersValues() in this arraylist

 org.jsoup.Connection jsoupConn=Jsoup.connect(web_api).data(paramHM);

 // Multiple Call that 
 for(String item:checkboxVal){
    jsoupConn=jsoupConn.data("checkbox",item);
 }