日期:2014-05-18  浏览次数:20826 次

我在使用Struts2.0的 <s:checkbox> 标签作批量控制时,后台取不到选中的checkbox的值,怎么办?
前台是这样写的: 

<s:checkbox name="check" onclick="selectItem(this,'checkAll')" fieldValue="%{id}"> </s:checkbox> 

后台Action中是这样定义的: 
private Object[] check; 

public Object[] getCheck() { 
return check; 


public void setCheck(Object[] check) { 
this.check = check; 


但是运行时报空指针异常,说check变量为Null,大侠看看怎么回事,谢谢?

------解决方案--------------------
帮忙顶一个 
期待高手的到来
------解决方案--------------------
HTML code

function selectAll(formName, checkboxName) {
    var form = document.all.item(formName);
    var elements = form.elements[checkboxName];
    var count = document.getElementsByName(checkboxName).length;
    if (count == 1) {
        if (checkedAll) {
            elements.checked = false;
        } else {
            elements.checked = true;
        }
    } else {
        for (var i = 0; i < elements.length; i++) {
            var e = elements[i];
            if (checkedAll) {
                e.checked = false;
            } else {
                e.checked = true;
            }
        }
    }
    if (checkedAll) {
        checkedAll = false;
    } else {
        checkedAll = true;
    }
}

<s:checkbox name="chk" id="chk" theme="simple"                            onclick="selectAll('moduleForm','cb');"></s:checkbox>

<s:iterator ...>
    <td align="center">
    <s:checkbox name="cb" id="cb" fieldValue="%{pk.code}" theme="simple"></s:checkbox>
    </td>
</s:iterator>