http://blog.csdn.net/benq998/archive/2006/04/15/664170.aspx看看这个,应该对你有帮助。

解决方案 »

  1.   

    谢谢benq 我还是有点不明白,我不是上传文件这种类型的,看我这个帖子,谢谢帮助,解决问题后就结贴。http://community.csdn.net/Expert/topic/4883/4883480.xml?temp=.985531
      

  2.   

    提交之前通过javascript来获取表单的值,然后合并存放到一个隐藏字段里面发一小段你参考参考
     for(var i=1;i<TableID.rows.length;i++)
                    {
                         var row=TableID.rows[i];
                         ReceiveForm.TxtInstrumentIdArray.value+=row.cells[1].innerText;
                         ReceiveForm.TxtInstrumentNameArray.value+=row.cells[2].innerText;                    
                         ReceiveForm.TxtNumsArray.value +=row.cells[3].innerText;
                         ReceiveForm.TxtCheckDepartmentIdArray.value +=row.cells[4].getElementsByTagName("SELECT")[0].value;
                         ReceiveForm.TxtQjArray.value +=row.cells[5].getElementsByTagName("INPUT")[0].checked;
                         ReceiveForm.TxtDateArray.value +=row.cells[6].innerText;
                         if (i<TableID.rows.length-1)
                         {
                            ReceiveForm.TxtInstrumentIdArray.value+=",";
                            ReceiveForm.TxtInstrumentNameArray.value+=",";                                       
                            ReceiveForm.TxtNumsArray.value +=",";
                            ReceiveForm.TxtCheckDepartmentIdArray.value +=",";
                            ReceiveForm.TxtQjArray.value +=",";
                            ReceiveForm.TxtDateArray.value +=",";
                         }
                    }
    如果还不懂,去网上搜索搜索,把js好好补补
      

  3.   

    谢谢楼上的,我按照你的方法做了,可是我不知道在隐藏字段中的值是什么样子的,在action中怎么样才能取得隐藏字段的值?通过request.getParameterValue()获得么?请指教
      

  4.   

    比如TxtInstrumentIdArray就是隐藏字符串,它最后生成的值类似  a,b,c,d 你可以在动态表单里面定义一个属性,在action用daf.get方法来获得。或者直接在用request.getParameterValue()获取,但此时jsp页面的隐藏字段不能用struts标签(<html:hidden property="xxx"/>),action接受后通过split函数分解字符串即可。我在csdn论坛回答过此类问题,你搜搜
      

  5.   

    你说的这个TxtInstrumentIdArray作为隐藏字段是不是在jsp页面里这么写"<input type=hidden name="TxtInstrumentIdArray">"?请龙卷风先看看我的代码:这是在表格行中增加文本框的代码(items,version,re,explanation在actionform都有数组属性对应):
    function insertRow(isTable){
     index = isTable.rows.length;
     nextRow = isTable.insertRow(index);
     items = nextRow.insertCell(0);
     version = nextRow.insertCell(1);
     re = nextRow.insertCell(2);
     explanation = nextRow.insertCell(3);
     index++;
     index = index.toString();
     items.innerHTML = "<input type=text name="+items+" size=20>";
     version.innerHTML = "<input type=text name="+version+" size=10>";
     re.innerHTML = "<input type=text name="+re+" size=50>";
     explanation.innerHTML = "<input type=text name="+explanation+" size=60>";
    }下面是在页面上按保存按钮后取得文本框的值,因为本来就存在"<input type=text name="+items+" size=20>,所以不需要隐藏字段吧
    function savehiddendata(isTable){
      for(var i=1;i<isTable.rows.length;i++){
    var row=isTable.rows[i];
    document.ftpEditForm.items.value+=row.cells[0].getElementsByTagName("input").value;
    document.ftpEditForm.version.value+=row.cells[1].getElementsByTagName("input").value;
    document.ftpEditForm.re.value+=row.cells[2].getElementsByTagName("input").value;
    document.ftpEditForm.explanation.value+=row.cells[3].getElementsByTagName("input").value;
    if(i<isTable.rows.length-1)
    {
    document.ftpEditForm.items.value+=",";
    document.ftpEditForm.version.value+=",";
    document.ftpEditForm.re.value+=",";
    document.ftpEditForm.explanation.value+=",";
    }
    }
    }但我在action里用request.getParameterValue()却取不到这个字符串的值.能帮我看看为什么吗?  我现在在做毕业设计,就卡在这里了,已经一个星期了,真是急死了,希望龙卷风能帮我一把.分数不是问题.多谢了.
      

  6.   

    只要根据name,就可以获得值得 request.getParameterValue(name); items.innerHTML = "<input type=text name="+items+" size=20>";
     你这行,  name="+items +"  这个items究竟是啥? 是字符串吗?  alert(items); 看看
     request.getParameterValue(items的值); 可以获得
      

  7.   

    items是文本框的name,在actionform里是一个数组String[] items。 我alert(items);后好像看不到弹出来的框嘛,问题在哪里呢?还有我如果设置两行静态的文本框,就能取到值。代码如下:
    <table id='dynTable' width="100%" border="0" align="center" cellpadding="6" cellspacing="3" bordercolor="#CCCCCC" bgcolor="#FFFFFF" style="border-collapse: collapse">
    <tr>
       <td><html:text property="items" value=""/></td>
       <td><html:text property="version" value=""/></td>
       <td><html:text property="re" value=""/></td>
       <td><html:text property="explanation" value=""/></td>
    </tr>
    <tr>
       <td><html:text property="items" value=""/></td>
       <td><html:text property="version" value=""/></td>
       <td><html:text property="re" value=""/></td>
       <td><html:text property="explanation" value=""/></td>
    </tr>
    </table>大家能帮我看看问题在哪里么?
      

  8.   

    alert(items)放在哪里呢?放在insertRow()这个方法里?执行后弹出的是object.放在其他地方的话就弹不出对话框。我在jsp页面的文本框里填好后提交给action处理,action处理好后还是返回给这个jsp页面的。