以下是我的jsp页面的代码:(action中接受数据没有问题,能取到页面中list中已经存在的数据,insRow()方法添加上去的数据取不到)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'ruleList.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
function getRowObj(obj)
{
   var i = 0;
   while(obj.tagName.toLowerCase() != "tr"){
    obj = obj.parentNode;
    if(obj.tagName.toLowerCase() == "table")
  return null;
   }
   return obj;
}//删除一行数据
function del(obj){ 
var tr = this.getRowObj(obj);
    if(tr != null){
     tr.parentNode.removeChild(tr);
    }else{
    throw new Error("the given object is not contained by the table");
   }
 
}
//新增一行数据
function insRow(){
  var table = document.getElementById("table");
  var tr = table.insertRow();
  var td;
  td = tr.insertCell();
  td.innerHTML = "<input type='text' id='123456' name='formatList[tr.rowIndex-1].source' style='width: 100%;text-align: center' value='请输入'/>";
  td = tr.insertCell();
  td.innerHTML = "<input type='text' name='formatList[tr.rowIndex-1].url' style='width: 100%;text-align: center' value=''/>";
  td = tr.insertCell();
  td.innerHTML = "<input type='text' name='formatList[tr.rowIndex-1].urlFilter' style='width: 100%;text-align: center' value=''/>";
  td = tr.insertCell();
  td.innerHTML = "<input type='text' name='formatList[tr.rowIndex-1].newsType' style='width: 100%;text-align: center' value=''/>";
  td = tr.insertCell();
  td.innerHTML = "<input type='button' name='' value='删&nbsp;&nbsp;除' onclick='javascript:del(this)'/>";
  }</script>
  </head>
  
  <body>
   <form action="xmlSaveAction!saveXMLInfo.do" method="post">
   <div id="div1">
   <table id="table" align="center" width="100%" border="1">
   <tr>
   <th align="center">资讯来源</th>
   <th align="center">资讯来源链接</th>
   <th align="center">资讯匹配链接</th>
   <th align="center">资讯类别</th>
   <th align="center">操&nbsp;&nbsp;作</th>
   </tr>
<s:iterator value="list" id="item" status="index">
   <tr id="<s:property value='#index.index+1'/>" >
   <td align="center" ><input type="text" name="formatList[<s:property value='#index.index'/>].source" style="width: 100%;text-align: center" value="<s:property value='#item.source' />"/></td>
   <td align="center"><input type="text" name="formatList[<s:property value='#index.index'/>].url" style="width: 100%;text-align: center" value="<s:property value='#item.url' />"/></td>
   <td align="center"><input type="text" name="formatList[<s:property value='#index.index'/>].urlFilter" style="width: 100%;text-align: center" value="<s:property value='#item.urlFilter' />"/></td>
   <td align="center"><input type="text" name="formatList[<s:property value='#index.index'/>].newsType" style="width: 100%;text-align: center" value="<s:property value='#item.newsType' />"/></td>
   <td align="center">
   <input type="button" name="" value="删&nbsp;&nbsp;除 "onclick="javascript:del(this)"/>
   </td>
   </tr>
</s:iterator>
   </table>
   </div>
   <table width="99%">
   <tr>
   <td align="right">
   <input type="button" name="" value="增&nbsp;&nbsp;加 "onclick="javascript:insRow()"/>
   <input type="submit" name="submit" value="保&nbsp;&nbsp;存 "/>
   </td>
   </tr>
   </table>
   </form>
  </body>
</html>