Hi Chris,
I am able to resolve the issue by initializing the Bean object in Model when page loads. Action class //-- baen initialize --// this.cBookingFactorsModel.setCBookingFactorsBean(new CBookingFactorsBean()); JSP Page: <s:textfield name="cBookingFactorsBean.salesAfterDiscount" size="13" cssClass="Input"/> But the error on server console is still seen. WARNING: Error setting value ognl.OgnlException: target is null for setProperty(null, "salesAfterDiscount", [Ljava.lang.String;@e6235d) at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1651) Any idea _____ From: Raghuveer.V [mailto:raghuve...@infotechsw.com] Sent: Tuesday, September 22, 2009 12:10 PM To: 'musom...@aol.com'; 'user@struts.apache.org' Subject: RE: Struts2 - OGNL - access bean property in model object Hi Chris, I tested it even in similar way still the data is not set when clicked saved button and I get following error in console. WARNING: Error setting value ognl.OgnlException: target is null for setProperty(null, "salesAfterDiscount", [Ljava.lang.String;@e6235d) at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1651) JSP Page: <s:textfield name="cBookingFactorsBean.salesAfterDiscount" size="13" cssClass="Input"/> Struts.xml: <action name="bookingFactorsAction*" method="{1}" class="com.test.actions.CEACBookingFactorsAction"> <interceptor-ref name="servletConfig"/> <interceptor-ref name="prepare" /> <interceptor-ref name="debugging" /> <interceptor-ref name="scopedModelDriven"> <param name="scope">session</param> <param name="name">cBookingFactorsModel</param> <param name="className"> com.test.model.CBookingFactorsModel </param> </interceptor-ref> <interceptor-ref name="params" /> <interceptor-ref name="conversionError" /> <interceptor-ref name="workflow" /> <interceptor-ref name="defaultStack" /> <result>/jsp/eacModelInputFactors.jsp</result> <result name="input">/jsp/eacModelInputFactors.jsp</result> <result name="eac_model_input_factors">/jsp/eacModelInputFactors.jsp</result> Error: Sep 22, 2009 11:51:05 AM com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn WARNING: Error setting value ognl.OgnlException: target is null for setProperty(null, "salesAfterDiscount", [Ljava.lang.String;@e6235d) at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1651) at ognl.ASTProperty.setValueBody(ASTProperty.java:101) at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177) at ognl.SimpleNode.setValue(SimpleNode.java:246) at ognl.ASTChain.setValueBody(ASTChain.java:172) at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177) at ognl.SimpleNode.setValue(SimpleNode.java:246) at ognl.Ognl.setValue(Ognl.java:476) at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:192) at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:155 ) at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:143 ) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(Para metersInterceptor.java:273) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Parame tersInterceptor.java:187) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Parame tersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(St aticParametersInterceptor.java:148) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterce ptor.java:93) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInt erceptor.java:235) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDr ivenInterceptor.java:89) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(S copedModelDrivenInterceptor.java:128) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(Prof ilingActivationInterceptor.java:104) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(Debu ggingInterceptor.java:267) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingIn terceptor.java:126) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareIn terceptor.java:138) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nIntercepto r.java:148) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletCon figInterceptor.java:164) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasIntercep tor.java:128) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(Ex ceptionMappingInterceptor.java:176) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(D efaultWorkflowInterceptor.java:163) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(Con versionErrorInterceptor.java:122) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Parame tersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(S copedModelDrivenInterceptor.java:128) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(Debu ggingInterceptor.java:267) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareIn terceptor.java:138) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletCon figInterceptor.java:164) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOper ations.java:77) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilt er(StrutsPrepareAndExecuteFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va: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:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC onnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav a:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo rkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:685) at java.lang.Thread.run(Unknown Source) -----Original Message----- From: musom...@aol.com [mailto:musom...@aol.com] Sent: Monday, September 21, 2009 6:29 PM To: user@struts.apache.org Subject: Re: Struts2 - OGNL - access bean property in model object JSP page: <s:textfield name="CBookingFactorsBean.salesAfterDiscount" size="13" cssClass="Input"/> The c in CBookingFactorsBean should be lower case , I think. Chris -----Original Message----- From: Raghuveer.V <raghuve...@infotechsw.com> To: user@struts.apache.org Sent: Mon, Sep 21, 2009 7:48 am Subject: RE: Struts2 - OGNL - access bean property in model object Hi Rouxel, I am using ScopedModelDriven. I am not using prepare,since ModelDSriven interceptor takes care of initializing model object. I have following implemented methods of ScopedModelDriven and other servlet config related methods in my Action class. -------------------- public Object getModel(){ System.out.println("getting model."); return cBookingFactorsModel; } public String getScopeKey() { System.out.println("getting key."); return key; } public void setModel(Object obj) { System.out.println("setting model: "+obj.toString()); this.cBookingFactorsModel=(CBookingFactorsModel)obj; } public void setScopeKey(String key) { System.out.println("setting key: "+key); this.key=key; } public void setServletRequest(HttpServletRequest request) { this.request=request; } public void setSession(Map map) { this.session_map=map; } public CBookingFactorsModel getCBookingFactorsModel() { return cBookingFactorsModel; } public void setCBookingFactorsModel(CBookingFactorsModel bookingFactorsModel) { cBookingFactorsModel = bookingFactorsModel; } _____ From: Raghuveer.V [mailto:raghuve...@infotechsw.com] Sent: Monday, September 21, 2009 4:32 PM To: 'user@struts.apache.org' Subject: Struts2 - OGNL - access bean property in model object I have following property in model object(ScopedModelDriven). CBookingFactorsBean cBookingFactorsBean=null; In JSP page i get error when accessing [b]'salesAfterDiscount'[/b] property of custom object(CBookingFactors[b]Bean[/b]) in model(CBookingFactors[b]Model[/b]). ------------------ JSP page: <s:textfield name="CBookingFactorsBean.salesAfterDiscount" size="13" cssClass="Input"/> ---------------------------- WARNING: Error setting value ognl.OgnlException: target is null for setProperty(null, "SalesAfterDiscount", [Ljava.lang.String;@110d68a) at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1651) at ognl.ASTProperty.setValueBody(ASTProperty.java:101) at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177) at ognl.SimpleNode.setValue(SimpleNode.java:246) at ognl.ASTChain.setValueBody(ASTChain.java:172) at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177) at ognl.SimpleNode.setValue(SimpleNode.java:246) at ognl.Ognl.setValue(Ognl.java:476) at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:192) at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:155 ) at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:143 ) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(Para metersInterceptor.java:273) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(Parame tersInterceptor.java:187) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(S copedModelDrivenInterceptor.java:128) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(Debu ggingInterceptor.java:267) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareIn terceptor.java:138) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(Method FilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletCon figInterceptor.java:164) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocati on.java:236) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOper ations.java:77) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilt er(StrutsPrepareAndExecuteFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:210) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va: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:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC onnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav a:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo rkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav a:685) at java.lang.Thread.run(Unknown Source)