-1

テキストボックスとドロップダウンリストを使用してhtmlテーブルを動的に生成すると、ユーザーはその中に入力を入力します。そのデータを取得し、struts2 を使用して Action クラスに渡す方法

4

1 に答える 1

0

1 テーブル内のすべての行パラメーターに行識別子を追加する必要があります

  <form action="/my_action_path/my_action.do">
    <table>
      <tr>
        <td>
          //This is your row id
          <input type="hidden" name="rowId" value="**1**"/>

          <input type="text" name="first_textbox_**1**"/>
        </td>
        <td>
          <input type="text" name="second_textbox_**1**"/>
        </td>
      </tr>
      <tr>
        <td>
          //This is your row id
          <input type="hidden" name="rowId" value="**2**"/>

          <input type="text" name="first_textbox_**2**"/>
        </td>
        <td>
          <input type="text" name="second_textbox_**2**"/>
        </td>
      </tr>
    </table>
    <input type="submit"/>
  </form>

2 アクションコードはこちら

import java.lang.String;

public class MyAction extends ActionSupport {
  //Struts put all your "rowId" values here
  private String[] rowId = new String[];

  public String execute(){
  //Get "request" object
    HttpServletRequest request = ServletActionContext.getRequest();
  //Read all your parameters using they names
    for(int i = 0; i< rowId.length; i++){
      String firstTextbox = (String) request.getParameter("first_textbox" + "_" + i);
      String secondTextbox = (String) request.getParameter("second_textbox" + "_" + i);
      //Ta-dam. Your have your parameters from the row i
    }
  }

  public String[] getRowId() {
    return rowId;
  }

  public void setRowId(String[] rowId) {
    this.rowId = rowId;
  }
}  
于 2012-04-21T11:28:47.007 に答える