我有问题发送动态数据,它由struts迭代器作为数组迭代,通过ajax调用将struts动作类作为单独的数组,以及如何在struts动作类中接收
以下是我的示例代码:
struts迭代
<table width="100%" class="table table-striped table-bordered table-hover" id="dataTables-example3">
<thead>
<tr>
<th><a href="#" id="selectall">Select all</a></th>
<th>Student Name</th>
<th>Phone</th>
<th>Email</th>
<th>ReferenceId</th>
</tr>
</thead>
<tbody>
<s:iterator value="adminSms">
<tr>
<td><s:checkbox name="refIDS" cssClass="case" fieldValue="%{ref}" /></td>
<td><s:property value="studentname" /></td>
<td id="phone"><s:property value="phone" /></td>
<td id="email"><s:property value="email" /></td>
<td><s:property value="ref" /></td>
</tr>
</s:iterator>
</tbody>
</table>
调用Ajax
$(document).ready(function() {
$('Send').click(function() {
var Data = {
phone : $('#phone').val(),
email : $('#email').val()
}
$.ajax({
type : 'POST',
url : 'myURL',
data : JSON.stringify(Data)
});
});
});
动作类
public class MyActionClass extends ActionSupport {
private String [] phoneNumbers;
private String [] emails;
public String[] getPhoneNumbers() {
return phoneNumbers;
}
public void setPhoneNumbers(String[] phoneNumbers) {
this.phoneNumbers = phoneNumbers;
}
public String[] getEmails() {
return emails;
}
public void setEmails(String[] emails) {
this.emails = emails;
}
@Override
public String execute() throws Exception {
for (int i = 0; i < emails.length; i++) {
System.out.println(emails[i]);
}
for (int i = 0; i < phoneNumbers.length; i++) {
System.out.println(phoneNumbers[i]);
}
return SUCCESS;
}
}
答案 0 :(得分:-1)
这里在下面的代码中发送两个字段值我在fieldValue属性中连接两个字段值
<s:iterator value="adminSms">
<tr>
<td><s:checkbox name="emails" cssClass="case" fieldValue="%{phone+'@'+email}" /></td>
<td><s:property value="studentname" /></td>
<td id="phone"><s:property value="phone" /></td>
<td id="email"><s:property value="email" /></td>
<td><s:property value="ref" /></td>
</tr>
</s:iterator>