Struts接收表单提交的多行数据

/**
* 扩展ArrayList类:重写get方法用来接收多行数据时防止下标越界
* @author Administrator
*
*/
public class AutoArrayList extends ArrayList {

private Class itemClass;
public AutoArrayList(Class itemClass){
this.itemClass=itemClass;
}

public Object get(int index){
try{
while(index>=size()){
add(itemClass.newInstance());
}
}catch(Exception e){}
return super.get(index);
}
}
------------------------------------------------------
/**
*ActionForm: 接收多行TCompareField数据tcompareFieldList
*/
public class TCompareFieldListForm extends ActionForm{

private List comparefields = new AutoArrayList(TCompareFieldForm.class);

public List getComparefields(){
return this.comparefields;
}
public void setComparefields(List comparefields){
this.comparefields= comparefields;
}

}
-----------------------------------------------------
/**
* ActionForm:接收TCompareField数据
*/
public class TCompareFieldForm extends ActionForm implements java.io.Serializable
{

// Fields

private Long id;
private Long compareId;
private String fieldDescribe;
private Long fieldLength;
private String fieldType;
private Long dictionaryId;
private String fieldName;
private Long targetRowId;
private String compareMode;
private String isUnique;
private String isSimpleOutput;
private String isDetailOutput;
private String isInputSource;
private Long seq;
private String secretKey;
private Long createBy;
private Date createTime;
private Long lastUpdateUser;
private Date lastUpdateTime;

public Long getId()
{
return id;
}
//getter&setter......
}
-----------------------------------------------------

在action中获取JSP表单提交的数据:
//获取表单提交数据
TCompareFieldListForm listForm = (TCompareFieldListForm)form;
List<TCompareFieldForm> comparefields = listForm.getComparefields();

-----------------------------------------------------
JSP表单:表单的数据是一个数据集合list,注意字段的命名使用数组的方式--comparefields[<%=i%>].targetRowId ,数组名要和TCompareFieldListForm 中的变量名对应,数组的属性要和TCompareFieldForm中的变量对应

<form action="">
<%
for(int i=0;i<compareRelateCheckList.size();i++){
VCompareInputSourceCheck inputSource=compareRelateCheckList.get(i);
%>
<tr class="tableRow" οnmοuseοver="this.style.background='#D6E8F8';" οnmοuseοut="this.style.background='#ffffff'">
<td align="center" width="20%">
<input type="hidden" id="comparefields[<%=i%>].targetRowId" name="comparefields[<%=i%>].targetRowId" value="<%=inputSource.getTargetRowId()%>">
<input type="hidden" id="comparefields[<%=i%>].fieldDescribe" name="comparefields[<%=i%>].fieldDescribe" value="<%=inputSource.getFieldDescribe()%>">
<%=inputSource.getFieldDescribe()%>
</td>
</tr>
<%}%>
</form>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值