我需要将动态创建的对象数组从jsp传递给java动作类,同时我将以下代码设置为将数组对象设置为动作形式的请求参数。但是在动作类中获取时会产生null结果,因为数组对象不会传递给动作表单。请为我提供一种将数组列表传递给动作类的正确方法。在此先感谢////
<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") %>" />
答案 0 :(得分: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的对象。以数组方式使用对象。