Javascript 如何将s:iterator标记struts中的对象传递给postajaxjquery

Javascript 如何将s:iterator标记struts中的对象传递给postajaxjquery,javascript,jquery,html,ajax,struts2,Javascript,Jquery,Html,Ajax,Struts2,我想在s:iterator中发送一个对象,以请求后ajax jquery中的数据,如: 在jsp: java:私有API testApi 在事件onclick按钮:onclick=“javascript:test('${api}');返回false” 使用post ajax jquery的javascript函数: 功能测试(api){ var url=“ApiAction?test=test”; var requestData={testApi:api}; $.post(url、reque

我想在s:iterator中发送一个对象,以请求后ajax jquery中的数据,如:

  • 在jsp:
  • java:
    私有API testApi
  • 在事件onclick按钮:
    onclick=“javascript:test('${api}');返回false”
  • 使用post ajax jquery的javascript函数:
功能测试(api){
var url=“ApiAction?test=test”;
var requestData={testApi:api};
$.post(url、requestData、函数(数据、状态){
警报(“数据:+数据+”\n状态:+状态);
}); 
返回false;
}
但是在java中的函数中,我无法获得
testApi
变量的数据。如果我尝试通过字符串变量
私有字符串名称更改对象
testApi
(API的属性):

更改参数onclick,如:
onclick=“javascript:test('${api.name}');返回false”
。在函数javascript处,将var更改为映射变量java:
var-requestData={name:api}。然后就可以了,我可以在java函数中获取数据
name

如何将对象数据传递给post ajax jquery?更大的问题是,如何传递arr对象,就像上面的示例是s:iterator标记的
arrApi
(因为在s:iterator标记中包含输入形式),比如:


您可以传递字符串。但这是动态数组。我不清楚问题出在哪里。您是将其设置为单个API的人--发送数组。您的意思是发送对象的数组属性?但arrApi是动态数组(当第一次加载jsp时从db初始化)。
public class Apis{
    private Long id;
    private String name;
    private String method;
}