2014-10-04 52 views
-1

我搜索了很多,但我無法解決我的問題。我是jsp新手,在我的主jsp應用程序中,我通過javascript中的scriptlet從表中檢索了一個字符串數組(項目組合)。我必須將數組發佈到另一個jsp,並將其作爲參數傳遞給java方法以計算一些投資組合統計數據(歷史數據存儲在src目錄中)。我寫的代碼是:從javascript傳遞字符串數組到jsp

//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 

這會導致 'R' 的NullPointerException異常,所以我錯了,在張貼的陣列。 'obj'數組不是空的(測試)。 我也嘗試動態編寫隱藏的輸入,將'name'屬性設置爲'portfolio'並提交表單,但異常仍然存在。 我錯在哪裏?爲更好的解決方案提出的建議已被廣泛接受。謝謝

回答

0

解決了,問題不是POST,而是檢索obj數組的起始函數。剛剛更改:

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

現在按照預期工作。

+0

你在說.. *「'obj'數組不是空的(測試)」* ..? – 2014-10-04 18:16:18

+0

是的,我在錯誤函數中使用'alert(obj)'進行了測試,並返回了一組項目。我不確定,因爲我是新手,但'地圖'方法似乎返回一個單獨的字符串,並用逗號分隔項目。也許它需要分裂,但我很幸運,找到了解決方案。感謝您的關注。 – ttrash 2014-10-04 18:25:18

相關問題