我使用一些文本框和下拉列表动态生成html表,用户将在其中输入他们的输入。如何检索该数据并使用struts2传递给Action类
答案 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;
}
}