2016-09-19 1 views
-1

私が持っている問題を経由して、アクションクラスを支柱ために配列を送信する方法どのようにStrutsアクションクラスで受信するにはAJAX呼び出しを介して、個々の配列としてアクションクラスをストラットする配列としてストラットイテレータで反復される動的データを送信するために、AJAX

ここ

は私のサンプルコードです:

ストラットの反復

<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呼び出し

2つのフィールドの値を送信するために
$(document).ready(function() { 
      $('Send').click(function() { 
       var Data = { 
        phone : $('#phone').val(), 
        email : $('#email').val() 
       } 
       $.ajax({ 
        type : 'POST', 
        url : 'myURL', 
        data : JSON.stringify(Data) 
       }); 
      }); 
     }); 

Actionクラスここでは以下のコードで

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

あなたはAjaxを介して、それを送ることができます。 –

+0

ちょうどidを送信し、実際にオブジェクトを取得します。 –

+0

'$( 'Send')'に 'Send'とは何ですか?あなたは何を達成しようとしていますか?なぜIDだけを送信しないのですか? –

答えて

-1

私はfieldValueの属性に2つのフィールド値を連結

<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> 
+0

それは間違っています。ストラットのプロパティはマップされません。 –

+0

@RomanCはメールと電話の両方のデータを@記号の間に入れています。それは私が別々の配列を作るために分割関数を使ったのです。 –

+0

それは単なる表現であり、マッピングデータは双方向でなければなりません。 –

関連する問題