可不可以这样,你在表单上使用多个字段,但是你并不是把每个字段都传到servlet,
而是把表单的所有内容放到一个隐形字段中,传到服务端。

<input type="text" name="text1">
<input type="text" name="text2">
<input type="text" name="text3">
<input type="text" name="text4">
<input type="text" name="text5">
<input type="text" name="text6"><input type="hiden" name="submitdata">
onsubmit(){
document.all.submitdata.value=document.all.text1.value+","+document.all.text2.value+","
+document.all.text3.value+","+document.all.text4.value.
这样到服务端处理就可以了。不知道行不行。
}

解决方案 »

  1.   

    jackkui的方法好像不行阿,10*10的表单等于建立100个新字段,那我就不用在隐藏字段中上传了.直接上传就可以了.我觉得不是很合适.
      

  2.   

    同志们,我找到了http://dev.csdn.net/develop/article/56/56664.shtm可是,就是没有成功.
    <logic:iterate id="item" name="testbean" indexId="index">
    <html:text property="item.id"/>
    <html:text property="item.name"/>
    </logic:iterate>
    还包错,后修改成<html:text name="item" property="id"/>
    但是数据不能自动收集,希望志同道合者给予关注.
      

  3.   

    问题已经搞定,现在简单讲述一下:
    我们碰到的问题主要是
    1。没法多行处理,其实我们参考http://dev.csdn.net/develop/article/56/56664.shtm,jsp显示和修改部分基本没有什么问题,但是提交后在ACTION中得不到form中的arraylist,或者说界面修改后得到的是空(size=0),这不符合action的自动收集功能,经我们不断的测试,发现在form中比如建个构造函数,一下就建立你要的行数(比如10行),那么按按上参考就可实现,但是你不要输入〉10行数据,不然显示时就会报错(arraylist溢出)或者取不到10行以外的数据。值得一提的是:这10行初始化只能由构造函数完成,在form中建立一初始函数,然后在action中调用的方法不行。
    所以我到现在对不少人说的通过界面回车等自动添加行一直比较费解,但很向往。
    到此为止,这个功能还没有完全解决,但是已经能实现我要的功能了。2。在form中使用arraylist后,我再也没有找到对他进行validator验证的方法,所以还没有实现。现在是在action中手工验证,很是麻烦。以上纯粹是我们项目中遇到的问题和解决方法,仅作抛砖引玉只用,若有人找到更好的方法。请一定记得吧你的贴子地址发到我消息中,谢谢。