2013-04-15 41 views
0

我需要將我的動態創建的對象數組從jsp傳遞到java動作類,同時我將創建以下代碼,將數組對象設置爲動作表單的請求參數。但是,在獲取動作類時,它會產生空結果,因爲數組對象不會傳遞給動作表單。請爲我提供一個將數組列表傳遞給動作類的正確方法。在此先感謝////從Jsp傳遞數組到動作類

<script> 
var i; 
var arraya = new Array(); 
var arrayb = new Array(); 
var arrayc = new Array(); 
var idCount = 1; 
function arr() 
{ 
for (var j=0;j<idCount;j++) 
{ 
arraya[j]= document.getElementsByName("a"+j)[0].value; 
arrayb[j]= document.getElementsByName("b"+j)[0].value; 
arrayc[j]= document.getElementsByName("c"+j)[0].value; 
} 
var one=arraya.valueOf(); 
var two=arrayb.valueOf(); 
var three=arrayc.valueOf(); 
} 
</script> 
    <input type="text" name="a0"> 
<input type="text" name="b0"> 
<input type="text" name="c0"> 
    <input type="button" onclick="addDiv();" value="Add"/> 
<input type="hidden" name="one" value="<%= request.getParameter("one") %>" /> 
<input type="hidden" name="two" value="<%= request.getParameter("two") %>" /> 
<input type="hidden" name="three" value="<%= request.getParameter("three") %>" /> 

回答

1

您可以通過這樣實現它 -

只要有輸入型這樣的。注意沒有使用索引。

<input type="text" name="a"/> 
<input type="text" name="b"/> 
<input type="text" name="c"/> 

在你的動作類中,你可以做到這一點。值將按順序排列。

String[] a = request.getParameterValues("a"); 
String[] b = request.getParameterValues("b"); 
String[] c = request.getParameterValues("c"); 

雖然因爲用戶正在使用Struts,你應該真正形成具有特性的a,b和c的對象。以數組方式使用對象。