2010-08-25 60 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[]{}; 

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