struts2的复选框返回“假”和零列出

问题描述:

我在一个表的窗体上显示多个记录。每个表中的第一列是一个复选框,用于删除标志记录。struts2的复选框返回“假”和零列出<String>

如果复选框被选中,则返回用的复选框在List<String>关联回形式的字符串值。如果未选中复选框,则列表将设置为空。

能正常工作是没有记录,或者有多个记录。但是如果有一条记录,当没有选中复选框时,值'false'返回到List<String>而不是null。

我已阅读,人们已经讨论设置复选框拦截“uncheckedValue”为空,但我一直没能成功地做到这一点还是找到如何做到这一点的例子。这是如何完成的?

在我的行动....

private List<String> idsToDelete; 
public List<String> getIdsToDelete() { 
    return idsToDelete; 
} 

public void setIdsToDelete(List<String> idsToDelete) { 
    this.idsToDelete = idsToDelete; 
} 

在我的JSP ...

<s:iterator value="adjustmentData" status="rowStatus"> 
    <tr> 
    <td> 
     <s:checkbox fieldValue="%{transactionId}" 
      name="idsToDelete" 
      class="deleteCheckbox"> 
     </s:checkbox> 

如果没有数据,idsToDelete = NULL

如果有记录和复选框选中,idsToDelete = [00200027,00200028,等]

如果存在多个记录和没有复选框ç hecked,idsToDelete = NULL

如果有一个记录和复选框未选中,idsToDelete = [虚假]

+1

https://stackoverflow.com/q/16460923/1700321 –

创建一个隐藏字段解决的问题。

<s:hidden name="__checkbox_idsToDelete"/>