gpt4 book ai didi

javascript - 如何将数组传递给java servlet

转载 作者:行者123 更新时间:2023-11-29 19:36:02 25 4
gpt4 key购买 nike

在我的 jsp 上,这是我的代码:

 $('.save').on("click",function(){    
var array = $.map($('table tr'), function (val, i) {
var obj = {}, inputs = $(val).find('td input:not(:hidden)');
obj[inputs.filter(':first').val()] = $.map(inputs.not(':first'), function (val, i) {
return val.value;
});
return obj;
});
var data = JSON.stringify(array);
$.post("Controller.html", data, function(response) {
/// i dont know what to put here,so i think this where i get trouble with
});
});

但当我检查 servlet 时数据仍然为空。

这是我的 servlet:

 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String data=request.getParameter("data");
if (data== null) {
System.out.println("null");
}
RequestDispatcher view = request.getRequestDispatcher("/page.jsp");
view.forward(request, response);
}

fiddle这里

最佳答案

首先你需要发送数据,你可以使用 ajax post方法:

$.post("yourservlet", data=JSON.stringify(array), function(response) {
// handle response from your servlet.
alert(response)
});

在 servlet 中,您可以使用以下命令检索数据:

String data=request.getParameter("data");

然后你需要解析json,你可以使用像JSON simple这样的库:

Object obj = JSONValue.parse(data);
JSONArray array = (JSONArray) obj;

或者您可以手动解析它。根据您的代码,您的 json 字符串将如下所示:

data = "[{'orange':['1.00','5']},{'apple':['2.00','5']}]";

您可以使用 split() 方法或 StringTokenizer 来分隔每个对象,但是您应该编写自己的解析器方法,为此您可以在 google 上找到很多教程。

关于javascript - 如何将数组传递给java servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25031076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com