如何通过ajax将数组发送到struts动作类

时间:2016-09-19 11:12:06

标签: jquery ajax struts2

我有问题发送动态数据,它由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;
    }
}

1 个答案:

答案 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>