当前位置: 代码迷 >> Java Web开发 >> struts1.x包孕嵌套List的多行提交
  详细解决方案

struts1.x包孕嵌套List的多行提交

热度:6837   发布时间:2013-02-25 21:13:51.0
struts1.x包含嵌套List的多行提交
普通的多行提交没任何问题,可现在这个业务比较特殊
一般的多行提交,从一个list中迭代出来,然后再提交回这个list就行了,
现在这个list中还有一个list,假设外面这个list是list1,里面这个list是list2,
在页面显示数据的时候都正常,提交时外面这个list1的数据能够正常提交,里面那个list2就只能提交一部分了
把jsp的一部分发上来吧,外面的叫result,里面的叫list,这两个list的get方法都重写过了
HTML code
<logic:present name="bodyForm" property="result">  <logic:iterate id="result" name="bodyForm" property="result" indexId="idx">    GROUP CODE:<html:text name="result" property="groupCd" indexed="true" />    <div class="list" id="rsdiv">      <table id="rstbl">        <tr>          <th>名称</th>          <th>年齢</th>          <th>金額</th>        </tr>        <logic:iterate id="list" name="result" property="list">          <tr>            <td>              <html:text name="list" property="name" indexed="true" /><BR>            </td>            <td>              <html:text name="list" property="old" indexed="true" /><BR>            </td>            <td>              <html:text name="list" property="money" indexed="true" /><BR>            </td>          </tr>        </logic:iterate>      </table>    </div>    <html:text name="result" property="muiltMoney" indexed="true" /><BR><BR>  </logic:iterate></logic:present>

也就是说第二个<logic:iterate>标签内的不能正常提交,看了一下生成的源码,也大概知道原因,但不清楚该怎么改,源码如下
HTML code
    GROUP CODE:<input type="text" name="result[0].groupCd" value="1">    <div class="list" id="rsdiv">      <table id="rstbl">        <tr>          <th>名称</th>          <th>年齢</th>          <th>金額</th>        </tr>                  <tr>            <td>              <input type="text" name="list[0].name" value="name1"><BR>            </td>            <td>              <input type="text" name="list[0].old" value="1"><BR>            </td>            <td>              <input type="text" name="list[0].money" value="101"><BR>            </td>          </tr>                  <tr>            <td>              <input type="text" name="list[1].name" value="name7"><BR>            </td>            <td>              <input type="text" name="list[1].old" value="7"><BR>            </td>            <td>              <input type="text" name="list[1].money" value="107"><BR>            </td>          </tr>                  <tr>            <td>              <input type="text" name="list[2].name" value="name9"><BR>            </td>            <td>              <input type="text" name="list[2].old" value="9"><BR>            </td>            <td>              <input type="text" name="list[2].money" value="109"><BR>            </td>          </tr>              </table>    </div>    <input type="text" name="result[0].muiltMoney" value="317"><BR><BR>      GROUP CODE:<input type="text" name="result[1].groupCd" value="2">    <div class="list" id="rsdiv">      <table id="rstbl">        <tr>          <th>名称</th>          <th>年齢</th>          <th>金額</th>        </tr>                  <tr>            <td>              <input type="text" name="list[0].name" value="name2"><BR>            </td>            <td>              <input type="text" name="list[0].old" value="2"><BR>            </td>            <td>              <input type="text" name="list[0].money" value="102"><BR>            </td>          </tr>                  <tr>            <td>              <input type="text" name="list[1].name" value="name8"><BR>            </td>            <td>              <input type="text" name="list[1].old" value="8"><BR>            </td>            <td>              <input type="text" name="list[1].money" value="108"><BR>            </td>          </tr>                  <tr>            <td>              <input type="text" name="list[2].name" value="name11"><BR>            </td>            <td>              <input type="text" name="list[2].old" value="11"><BR>            </td>            <td>              <input type="text" name="list[2].money" value="111"><BR>            </td>          </tr>              </table>    </div>    <input type="text" name="result[1].muiltMoney" value="321"><BR><BR>...................
  相关解决方案