Hi all, I am using Model Driven approach for transfering my form data to the bean object.i have a form(JSP Page) where i have divided the form in three sections. and based on the name of these sections i have created 3 Bean classes(PO) for storing the data.Additonally i have created one more PO class for setting values in these three PO classes.below is the code for this class.
* package* demo; * public* *class* User { *private* AddressPO addressPO; *private* BusinessInformationPO businessInformationPO; *private* UserCredentialPO userCredentialPO; /** * [EMAIL PROTECTED] the addressPO */ *public* AddressPO getAddressPO() { *return* addressPO; } /** * [EMAIL PROTECTED] addressPO the addressPO to set */ *public* *void* setAddressPO(AddressPO addressPO) { *this*.addressPO = addressPO; } /** * [EMAIL PROTECTED] the businessInformationPO */ *public* BusinessInformationPO getBusinessInformationPO() { *return* businessInformationPO; } /** * [EMAIL PROTECTED] businessInformationPO the businessInformationPO to set */ *public* *void* setBusinessInformationPO(BusinessInformationPO businessInformationPO) { *this*.businessInformationPO = businessInformationPO; } /** * [EMAIL PROTECTED] the userCredentialPO */ *public* UserCredentialPO getUserCredentialPO() { *return* userCredentialPO; } /** * [EMAIL PROTECTED] userCredentialPO the userCredentialPO to set */ *public* *void* setUserCredentialPO(UserCredentialPO userCredentialPO) { *this*.userCredentialPO = userCredentialPO; } } MY action class is looking like this * public* *class* TestAction *extends* ActionSupport *implements*ModelDriven<User> { /** * */ *private* *static* *final* *long* *serialVersionUID* = 4184580362763509728L; *public* String execute() *throws* Exception{ System.*out*.println("inside action"); System.*out*.println(user.getAddressPO().getFirstName()); System.*out*.println(user.getBusinessInformationPO().getTinNumber()); System.*out*.println(user.getUserCredentialPO().getEmail()); *return* *SUCCESS*; } *private* User user=*new* User(); *public* User getModel() { *return* user; } } but it is giving me the following exception inside action Nov 11, 2008 5:20:11 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet default threw exception * java.lang.NullPointerException * at com.test.demo.TestAction.execute(*TestAction.java:15*) at sun.reflect.NativeMethodAccessorImpl.invoke0(*Native Method*) at sun.reflect.NativeMethodAccessorImpl.invoke(* NativeMethodAccessorImpl.java:39*) at sun.reflect.DelegatingMethodAccessorImpl.invoke(* DelegatingMethodAccessorImpl.java:25*) at java.lang.reflect.Method.invoke(*Method.java:597*) at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(* DefaultActionInvocation.java:404*) at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(* DefaultActionInvocation.java:267*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:229*) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(* DefaultWorkflowInterceptor.java:221*) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(* MethodFilterInterceptor.java:86*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(* ValidationInterceptor.java:150*) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept( *AnnotationValidationInterceptor.java:48*) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(* MethodFilterInterceptor.java:86*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept( *ConversionErrorInterceptor.java:123*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(* ParametersInterceptor.java:167*) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(* MethodFilterInterceptor.java:86*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(* StaticParametersInterceptor.java:105*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(* CheckboxInterceptor.java:83*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(* FileUploadInterceptor.java:207*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(* ModelDrivenInterceptor.java:74*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(* ScopedModelDrivenInterceptor.java:127*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(* ProfilingActivationInterceptor.java:107*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(* DebuggingInterceptor.java:206*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(* ChainingInterceptor.java:115*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(* I18nInterceptor.java:143*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(* PrepareInterceptor.java:121*) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(* MethodFilterInterceptor.java:86*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(* ServletConfigInterceptor.java:170*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(* AliasInterceptor.java:123*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(* ExceptionMappingInterceptor.java:176*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:224*) at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(* DefaultActionInvocation.java:223*) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(* UtilTimerStack.java:455*) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(* DefaultActionInvocation.java:221*) at org.apache.struts2.impl.StrutsActionProxy.execute(* StrutsActionProxy.java:50*) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(* Dispatcher.java:504*) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(* FilterDispatcher.java:419*) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(* ApplicationFilterChain.java:215*) at org.apache.catalina.core.ApplicationFilterChain.doFilter(* ApplicationFilterChain.java:188*) at org.apache.catalina.core.StandardWrapperValve.invoke(* StandardWrapperValve.java:213*) at org.apache.catalina.core.StandardContextValve.invoke(* StandardContextValve.java:174*) at org.apache.catalina.core.StandardHostValve.invoke(* StandardHostValve.java:127*) at org.apache.catalina.valves.ErrorReportValve.invoke(* ErrorReportValve.java:117*) at org.apache.catalina.core.StandardEngineValve.invoke(* StandardEngineValve.java:108*) at org.apache.catalina.connector.CoyoteAdapter.service(* CoyoteAdapter.java:174*) at org.apache.coyote.http11.Http11Processor.process(* Http11Processor.java:874*) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection( *Http11BaseProtocol.java:665*) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(* PoolTcpEndpoint.java:528*) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(* LeaderFollowerWorkerThread.java:81*) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(* ThreadPool.java:689*) at java.lang.Thread.run(*Thread.java:619*) Can any body guide me to the cause of error? thanks in advaice aum