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