如何从html中动态创建的表中检索数据

时间:2012-04-21 08:31:23

标签: html struts2

我使用一些文本框和下拉列表动态生成html表,用户将在其中输入他们的输入。如何检索该数据并使用struts2传递给Action类

1 个答案:

答案 0 :(得分: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;
  }
}