将javascript数组传递给java servlet

时间:2014-08-01 03:31:05

标签: java javascript json jsp servlets

我发现了有关此问题的其他问题,但我仍然遇到问题,当我检查getParamerterValues时,它总是返回null,我认为我无法将其重定向到我的控制器.Bare与我,在新的网络应用程序。

arr = [];
$(document).on("click","#idhere",function(){
    $.post("servlet.html","ids="+arr+"",function(response){
    });
});

或者有没有像在JSP中将javascript数组转换为数组的JSON所以我可以将它传递给我的servlet?

 String arr [] = request.getParameterValues("ids");

if(arr != null){//this line doesnt return true even my array contains item}

3 个答案:

答案 0 :(得分:1)

变化

String arr [] = request.getParameterValues("arr");

String arr [] = request.getParameterValues("ids");

答案 1 :(得分:1)

  

它总是返回null,我认为我无法将其重定向到我的控制器

我看不到任何将值传递给控制器​​的代码。在你的jquery函数中,你有类似$.post("servlet.html","ids="+arr+"",function(response){

的东西

无法从jsp向其他html文件发布值。如果您尝试将值传递给servlet。

尝试这样的事情,

$(document).on("click","#idhere",function(){
    $.post("servletName","ids="+arr+"",function(response){
    });
});

注意servletName是指您在web.xml中为您尝试发布数据的servlet映射的网址。

还要确保jquery function通过浏览器控制台正确地将数据发布到控制器。

答案 2 :(得分:0)

如下面的示例所示,post方法需要一个json对象作为数据参数。

这应该做的工作

$.post("servlet.html",{"ids": arr.join()},function(response){
    });
  

示例:示例:请求test.php页面,但忽略返回   结果

     

1 $ .post(" test.php");示例:请求test.php页面并发送   一些额外的数据(同时仍然忽略了返回结果)。

     

1 $ .post(" test.php",{name:" John",time:" 2 pm"});示例:通过   数据到服务器的数组(同时仍然忽略返回   结果)。

     

1 $ .post(" test.php",{'选择[]':[" Jon"," Susan" ]});例:   使用ajax请求发送表单数据

     

1 $ .post(" test.php",$(" #testform")。serialize());

请参阅http://api.jquery.com/jquery.post/