2010-08-25 61 views
1

我有复选框工作,但我不记得我已经做了什么修改我的代码。它再也不会工作。它口口声声说:疯了关于春天mvc复选框

org.springframework.web.servlet.tags.form.Checkbox Tag - 
java.lang.NullPointerException 
at org.springframework.web.servlet.tags.form.Selected ValueComparator.exhaustiveCompare(SelectedValueCom parator.java:157) 

在Java看起来是这样的:

public class ServiceRequest implements Serializable { 
...... 
    private GenericAddress serviceAddress; 
    private String problemDescription; 
    private String referenceNumber; 
    private String[] optionExchangeList = new String[10]; 
     ...... 

JSP代码如下所示:

<INPUT TYPE="checkbox" NAME="addPrima" onclick="showHideDiv(this,'exchangeOfOption')"> 
    <spring:message code="serviceRequest.label.ExchangeOfOption"/><br /> 
    <div id="exchangeOfOption" style="display:none; margin-left : 15px;" > 
    <spring:message code="serviceRequest.label.OnsiteExchangeOfDevice"/> <form:checkbox path="serviceRequest.optionExchangeList" value="Duplex"/><br /> 
       <spring:message code="serviceRequest.label.Drawer"/> <form:checkbox path="serviceRequest.optionExchangeList" value="Drawer"/><br /> 
       <spring:message code="serviceRequest.label.Feeder"/> <form:checkbox path="serviceRequest.optionExchangeList" value="Feeder"/><br /> 
       <spring:message code="serviceRequest.label.MaintenanceKit"/> <form:checkbox path="serviceRequest.optionExchangeList" value="Maintenance Kit"/><br /> 
       <spring:message code="serviceRequest.label.Other"/> <form:checkbox path="serviceRequest.optionExchangeList" value="Other"/> 
      </div> 

之前的工作。我甚至使用optionExchangeList.toString()来查看结果。这是我检查的人的名字。 (这是不可能的吧?应该是像@afaswe)。 和现在。我必须初始化optionExchangeList,就像这样:

private String[] optionExchangeList = new String[]{"Duplex","Drawer"}; 

和复式和抽屉,他们在浏览器中停留了检查。但对于其他领域。他们下榻下去,即使我检查他们,如果我使用类似的操作方法把它们打印出来,他们不会出现在optionExchangeList:

for (String s:serviceRequest.optionExchangeList){ 
System.out.println(s+"\n"); 
} 

列表,无论停留相同的复选框状态。

我有一个梦吗?还是我遇到鬼?我快疯了。 帮助!!!!

+0

可能会因为数组optionExchangeList中的某些元素为空而炸毁? – earldouglas 2010-08-25 14:58:50

回答

0

当我即将使用另一种方法时,灯光流向我。保持简洁明了。 的东西定义字符串列表像

private String[] optionExchangeList = new String[]{}; 

没有更多的例外。它只是工作。