欢迎进入Wiki » FAQ » 动态表格保存时数组越界问题?

动态表格保存时数组越界问题?

在2015-08-28 19:39上被李小翔修改
评论 (0) · 附件 (0) · 记录 · 信息

供稿人:杨兵

保存动态表时异常: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" ... />
在2015-08-28 19:38上被李小翔创建

Copyright © 2013 北京博瑞开源软件有限公司
京ICP备12048974号