我在用easyUI分页时,从前台传到后台page和rows两个参数。然而我将该值转换为int类型时出错,求解答。付源码(红色部分为出错部分):
String type=request.getParameter("type");
String p=request.getParameter("page");
String r=request.getParameter("rows");
int page=Integer.valueOf(p);
int rows=Integer.valueOf(r);
以下是出错信息:
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.valueOf(Integer.java:554)
at tk.tangchao.servlet.JsonGenerate.doPost(JsonGenerate.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
at java.lang.Thread.run(Thread.java:619)
javaweb easyUI Sting int j2ee
------解决方案--------------------
用parseInt()试试。
int page = Integer.parseInt(p);
int row = Integer.parseInt(r);
------解决方案--------------------
java.lang.NumberFormatException: null
已经提示你了,你传入的是null,而null是不能被转为int的
------解决方案--------------------
异常提示的很清楚,你传入方法的Integer.valueOf的字符串==null
------解决方案--------------------
if(null!=p&&!"".equals(p)){
int page=Integer.valueOf(p);
}
if(null!=r&&!"".equals(r)){
int rows=Integer.valueOf(r);
}
判断下就好,看下api里面的异常说明就明白了,不为空转换
------解决方案--------------------
确定p和r不为null,一般在做转换的时候做个不为空的判断,避免异常
------解决方案--------------------
因为你获得的p和r的值可能是null,而Integer.valueOf()类型转换是不能转换null的
------解决方案--------------------
前面先加一个不为空的判断再去进行转换,空异常就是这么出现的。。。
------解决方案--------------------
楼主debug一下吧,看看是不是你的
String p=request.getParameter("page");
String r=request.getParameter("rows");
有值,顺便在看看你的
String type=request.getParameter("type");
有值没有。
------解决方案--------------------