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