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