动态表格保存时数组越界问题?
李小翔
2015-08-28 19:39

内容列表

供稿人：杨兵
保存动态表时异常：java.lang.ArrayIndexOutOfBoundsException
动态表结构大致如下：
<g:dynamicTable ...>
    ...
   <tr>
       <input name=”item.id” ... />
       <input name=”item.x” ... />
       <input name=”item.y” ... />
   </tr>
   <tr>
       <input name=”item.id” ... />
       <input name=”item.x” ... />
       <input name=”item.y” ... />
   </tr>
   <tr>
       <input name=”item.id” ... />
       <input name=”item.x” ... />
       <input name=”item.y” ... />
   </tr>
   <tr>
       <input name=”item.id” ... />
       <input name=”item.x” ... />
   </tr>
    ...
</g:dynamicTable>
问题分析：
动态表保存时，每个字段都是一一对应的，如上例中有4个 item.id 字段、4个 item.x 字段，但是只有 3 个 item.y 字段，这样保存时肯定会出现数组越界问题。
因此，即便实际情况是第4个 item.y 不需要显示出来，也需要在对应的行列中添加一个隐藏的 item.y 字段，如：
<input type=”hidden” name=”item.y” ... />