Model view controller 为spring mvc复选框疯狂
我使复选框正常工作,但我不记得我对代码做了什么修改。再也不行了。它一直在说:Model view controller 为spring mvc复选框疯狂,model-view-controller,spring,checkbox,Model View Controller,Spring,Checkbox,我使复选框正常工作,但我不记得我对代码做了什么修改。再也不行了。它一直在说: 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)
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];
......
<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>
jsp代码如下所示:
public class ServiceRequest implements Serializable {
......
private GenericAddress serviceAddress;
private String problemDescription;
private String referenceNumber;
private String[] optionExchangeList = new String[10];
......
<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>
对于双面打印和抽屉,它们在浏览器中保持选中状态。但对于其他领域。它们保持未检查状态,即使我检查了它们,如果我在action方法中使用以下内容打印它们,它们也不会出现在OptionExchange列表中:
private String[] optionExchangeList = new String[]{"Duplex","Drawer"};
for (String s:serviceRequest.optionExchangeList){
System.out.println(s+"\n");
}
无论复选框的状态如何,列表都保持不变
我只是做了个梦吗???还是我遇到鬼了???我快疯了。
救命啊 当我准备使用另一种方法时,光线照在我身上。保持简短和清晰。 使用以下内容定义字符串列表
private String[] optionExchangeList = new String[]{};
没有例外。它可以正常工作。是否会因为数组optionExchangeList中的某些元素为空而爆炸?