java - Datatable Parameters are Null , causing NumberFormatException:Null. Any Solution? -
i have action annotation acts server side processing action jquery data-table. while getting params of datatable, m getting exception. class getting params is:
package com.healthslate.reports.view.actions; import javax.servlet.http.httpservletrequest; public class datatablesparamutility { public static jquerydatatableparammodel getparam(httpservletrequest request) { if(request.getparameter("secho")!=null || request.getparameter("secho")!= "") { jquerydatatableparammodel param = new jquerydatatableparammodel(); param.secho = request.getparameter("secho"); param.ssearch = request.getparameter("ssearch"); param.scolumns = request.getparameter("scolumns"); param.idisplaystart = integer.parseint(request.getparameter("idisplaystart")); param.idisplaylength= integer.parseint(request.getparameter("idisplaylength") ); param.icolumns = integer.parseint( request.getparameter("icolumns") ); param.isortingcols = integer.parseint( request.getparameter("isortingcols") ); param.isortcolumnindex = integer.parseint(request.getparameter("isortcol_0")); param.ssortdirection = request.getparameter("ssortdir_0"); return param; }else return null; } }
i getting exception @ param.idisplaystart = integer.parseint(request.getparameter("idisplaystart"));
exception :
http status 500 - null type exception report message null description server encountered internal error prevented fulfilling request. exception java.lang.numberformatexception: null java.lang.integer.parseint(unknown source) java.lang.integer.parseint(unknown source) com.healthslate.reports.view.actions.datatablesparamutility.getparam(datatablesparamutility.java:16) com.healthslate.reports.view.actions.pagevisitreportmodifiedaction.serversidesearch(pagevisitreportmodifiedaction.java:78) sun.reflect.nativemethodaccessorimpl.invoke0(native method) sun.reflect.nativemethodaccessorimpl.invoke(unknown source) sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) java.lang.reflect.method.invoke(unknown source) com.opensymphony.xwork2.defaultactioninvocation.invokeaction(defaultactioninvocation.java:450) com.opensymphony.xwork2.defaultactioninvocation.invokeactiononly(defaultactioninvocation.java:289) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:252) org.apache.struts2.interceptor.debugging.debugginginterceptor.intercept(debugginginterceptor.java:256) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.defaultworkflowinterceptor.dointercept(defaultworkflowinterceptor.java:167) com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.validator.validationinterceptor.dointercept(validationinterceptor.java:265) org.apache.struts2.interceptor.validation.annotationvalidationinterceptor.dointercept(annotationvalidationinterceptor.java:68) com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.conversionerrorinterceptor.intercept(conversionerrorinterceptor.java:138) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.parametersinterceptor.dointercept(parametersinterceptor.java:239) com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.parametersinterceptor.dointercept(parametersinterceptor.java:239) com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.staticparametersinterceptor.intercept(staticparametersinterceptor.java:191) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) org.apache.struts2.interceptor.multiselectinterceptor.intercept(multiselectinterceptor.java:73) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) org.apache.struts2.interceptor.checkboxinterceptor.intercept(checkboxinterceptor.java:91) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) org.apache.struts2.interceptor.fileuploadinterceptor.intercept(fileuploadinterceptor.java:252) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.modeldriveninterceptor.intercept(modeldriveninterceptor.java:100) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.scopedmodeldriveninterceptor.intercept(scopedmodeldriveninterceptor.java:141) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.chaininginterceptor.intercept(chaininginterceptor.java:145) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.prepareinterceptor.dointercept(prepareinterceptor.java:171) com.opensymphony.xwork2.interceptor.methodfilterinterceptor.intercept(methodfilterinterceptor.java:98) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.i18ninterceptor.intercept(i18ninterceptor.java:161) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) org.apache.struts2.interceptor.servletconfiginterceptor.intercept(servletconfiginterceptor.java:164) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.aliasinterceptor.intercept(aliasinterceptor.java:193) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.opensymphony.xwork2.interceptor.exceptionmappinginterceptor.intercept(exceptionmappinginterceptor.java:189) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) com.googlecode.s2hibernate.struts2.plugin.interceptors.sessiontransactioninjectorinterceptor.intercept(sessiontransactioninjectorinterceptor.java:181) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) net.bull.javamelody.strutsinterceptor.intercept(strutsinterceptor.java:68) com.opensymphony.xwork2.defaultactioninvocation.invoke(defaultactioninvocation.java:246) org.apache.struts2.impl.strutsactionproxy.execute(strutsactionproxy.java:54) org.apache.struts2.dispatcher.dispatcher.serviceaction(dispatcher.java:563) org.apache.struts2.dispatcher.ng.executeoperations.executeaction(executeoperations.java:77) org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter.dofilter(strutsprepareandexecutefilter.java:99) org.displaytag.filter.responseoverridefilter.dofilter(responseoverridefilter.java:125) note full stack trace of root cause available in apache tomcat/7.0.35 logs.
numberformatexception
occurs when trying convert illegal value int
value. need check value before trying read them int
value
//check `idisplaystart` parameter not null if(request.getparameter("idisplaystart")!=null) //do conversion if not null param.idisplaystart = integer.parseint(request.getparameter("idisplaystart"))
note: idisplaystart
parameter should contain valid value, can parsed int
value. otherwise, numberformatexception
. can create utility method takes input value, validate , conversion , return parsed int
value. if exception occurs in utility method, return int
value denoting failure or error
Comments
Post a Comment