我的页面部分代码是:
<s:iterator value="page.list" status="index">
<div>
<input type="checkbox" name="imessageId" value='<s:property value="imessageId"/>' />
<div class="px270 "><a href="#"><s:property value="csubject"/></a></div>
<div class="px120 "><a href="#"><s:property value="csenderUserName"/></a></div>
<div class="px120 "><s:date name="daddDateTime" format="yyyy-MM-dd"/></div>
</div>
</s:iterator>
Action部分代码是:
private Integer[] imessageId;
public Integer[] getImessageId() {
return imessageId;
}
public void setImessageId(Integer[] imessageId) {
this.imessageId = imessageId;
}
public String divSend() throws Exception {
Integer[] imessageIds = getImessageId();
for(int i=0; i<imessageIds.length; i++){
userMessageService.delete(imessageIds[i]);
}
return SUCCESS;
}
错误提示:
[17:18:52.937] javax.servlet.ServletException: java.lang.NullPointerException
[17:18:52.937] at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
[17:18:52.937] at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
[17:18:52.937] at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
[17:18:52.937] at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
[17:18:52.937] at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
[17:18:52.937] at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274)
[17:18:52.937] at com.caucho.server.port.TcpConnection.run(TcpConnection.java:514)
[17:18:52.937] at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:520)
[17:18:52.937] at com.caucho.util.ThreadPool.run(ThreadPool.java:442)
[17:18:52.937] at java.lang.Thread.run(Unknown Source)
[17:18:52.937] Caused by: java.lang.NullPointerException
恳请大家帮忙解决,谢谢!
------解决方案--------------------
你都定义了变量 为什么还要用方法来取值 你用Integer[] imessageIds = imessageId;试试
------解决方案--------------------
这个一般都是Integer[] imessageIds 为null造成的,如果用的不是spring的loc,建议用new 方式定义变量。
------解决方案--------------------
------解决方案--------------------
楼主应该把页面输出贴出来。我就出现过同样的情况,后来发现是页面输出时checkbox根本就不对。