【问题标题】:Passing String array from javascript to jsp将字符串数组从javascript传递到jsp
【发布时间】:2014-10-04 16:23:36
【问题描述】:

我搜索了很多,但我无法解决我的问题。我是jsp的新手,在我的主jsp应用程序中,我通过javascript中的scriptlet从表中检索字符串数组(组合项)。我必须将数组发布到另一个 jsp 并作为参数传递给 java 方法来计算一些投资组合统计信息(历史数据存储在 src 目录中)。我写的代码是:

    //obj is the array
    var obj= $('#tablePtf td:nth-child(1)').map(function(response){
        return $(this).text();
    }).get();

    //POST
    $.ajax({
        type: "POST",
        url: "calculatePtf.jsp",
        data: {portfolio:obj},
        success: function(){
            alert('ok');
        },
        error: function(){
            alert('error');
        }
    });

在服务器端(caluclatePtf.jsp):

String[]r=request.getParameterValues("portfolio");
calculate(r);// my method

这会导致 NullPointerException on 'r' ,所以我在发布数组时出错了。 'obj' 数组不为空(已测试)。 我还尝试动态编写隐藏输入,将“名称”属性设置为“组合”并提交表单,但异常仍然存在。 我哪里错了?更好的解决方案的建议被广泛接受。谢谢

【问题讨论】:

    标签: java javascript jquery ajax jsp


    【解决方案1】:

    已解决,问题不是 POST,而是检索 obj 数组的起始函数。刚刚换了:

    var obj=$('#tablePtf td:nth-child(1)').text();
    

    现在可以按方面工作。

    【讨论】:

    • 你是说.. "'obj' 数组不为空(已测试)"..?
    • 是的,我在错误函数中使用 'alert(obj)' 进行了测试,它返回了一组项目。我不确定,因为我是新手,但 'map' 方法似乎返回了一个字符串,其中的项目用逗号分隔。也许它需要拆分,但我很幸运并找到了解决方案。感谢您的关注。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2013-05-15
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    相关资源
    最近更新 更多