I am using the shale-framework-20070207 snapshot with tiles. I have a managed bean systemOperatorBean with an int property named "searchPageSize". I have another bean named "systemOperatorMnt" which has property operatorBean with value "#{systemOperatorBean}".
I can create and update records using bean systemOperatorMnt when I enter int values for the searchPageSize property. This tells me I have a perfectly good bean with a good corresponding jsp page. However, I get a npe if I initialize searchPageSize in systemOperatorBean. What stumps me is that I can initialize other String properties in systemOperatorBean just fine. Any ideas anyone? Thanks in advance, Dick Starr Details follow: Managed beans: ... <!-- TODO Why can I initialize name (a String) but get a npe when I try to initialize searchPageSize (an int)? --> <managed-bean> <managed-bean-name>systemOperatorBean</managed-bean-name> <managed-bean-class>com.starrcs.system.OperatorBean</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> <managed-property> <property-name>name</property-name> <value>test1</value> </managed-property> <managed-property> <property-name>searchPageSize</property-name> <value>15</value> </managed-property> </managed-bean> <managed-bean> <managed-bean-name>systemOperatorMnt</managed-bean-name> <managed-bean-class>com.starrcs.system.OperatorMnt</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> <managed-property> <property-name>operatorBean</property-name> <value>#{systemOperatorBean}</value> </managed-property> <managed-property> <property-name>operatorBean1</property-name> <value>#{systemOperatorBean}</value> </managed-property> <managed-property> <property-name>operatorListBean</property-name> <value>#{systemOperatorListBean}</value> </managed-property> <managed-property> <property-name>searchBean</property-name> <value>#{commonSearch}</value> </managed-property> </managed-bean> jsp: ... <t:saveState id="operatorBeanSS" value="#{systemOperatorMnt.operatorBean}"/> <t:saveState id="operatorBean1SS" value="#{systemOperatorMnt.operatorBean1}"/> <h:form id="operatorMnt"> ... <h:outputLabel for="name"> <h:outputText value="#{msg['app.Name']}"/> <h:outputText value="#{msg['symbol.sep1']}"/> </h:outputLabel> <h:panelGroup> <h:inputText id="name" maxlength="48" required="true" size="36" value="#{systemOperatorMnt.operatorBean.name}"> <f:validateLength minimum="4" maximum="48"/> </h:inputText> <h:message for="name" styleClass="starraMsgError"/> </h:panelGroup> ... <h:outputLabel for="searchPageSize"> <h:outputText value="#{msg['app.Search.page.size']}"/> <h:outputText value="#{msg['symbol.sep1']}"/> </h:outputLabel> <h:panelGroup> <h:inputText id="searchPageSize" maxlength="2" required="true" size="2" value="#{systemOperatorMnt.operatorBean.searchPageSize}"> <f:validateLongRange maximum="99" minimum="5"/> </h:inputText> <h:message for="searchPageSize" styleClass="starraMsgError"/> </h:panelGroup> ... trace: 2007-02-09 12:46:39,729 - ERROR org.apache.myfaces.lifecycle.PhaseListenerManager - Exception in PhaseListener RESTORE_VIEW(1) afterPhase java.lang.NullPointerException at org.apache.myfaces.renderkit.html.util.AutoScrollPhaseListener.afterPhase(AutoScrollPhaseListener.java:52) at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89) at org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:181) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:66) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.shale.application.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:267) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) 2007-02-09 12:46:39,790 - ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/starraShale].[faces] - Servlet.service() for servlet faces threw exception javax.faces.el.EvaluationException: Cannot get value for expression '#{systemOperatorBean}' at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:402) at org.apache.shale.tiger.faces.VariableResolverImpl.property(VariableResolverImpl.java:605) at org.apache.shale.tiger.faces.VariableResolverImpl.create(VariableResolverImpl.java:250) at org.apache.shale.tiger.faces.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:194) at org.apache.shale.faces.ShaleVariableResolver.resolveVariable(ShaleVariableResolver.java:157) at org.apache.myfaces.config.LastVariableResolverInChain.resolveVariable(LastVariableResolverInChain.java:42) at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:574) at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124) at org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:455) at org.apache.myfaces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:248) at org.apache.myfaces.custom.savestate.UISaveState.restoreState(UISaveState.java:77) at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:728) at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:719) at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreComponentState(JspStateManagerImpl.java:221) at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:287) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:255) at org.apache.shale.tiles.TilesViewHandler.restoreView(TilesViewHandler.java:230) at org.apache.shale.validator.faces.ValidatorViewHandler.restoreView(ValidatorViewHandler.java:136) at org.apache.shale.view.faces.ViewViewHandler.restoreView(ViewViewHandler.java:160) at org.apache.shale.tiles.TilesViewHandler.restoreView(TilesViewHandler.java:230) at org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:141) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:66) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.shale.application.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:267) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.NullPointerException at org.apache.shale.tiger.faces.VariableResolverImpl.property(VariableResolverImpl.java:620) at org.apache.shale.tiger.faces.VariableResolverImpl.create(VariableResolverImpl.java:250) at org.apache.shale.tiger.faces.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:194) at org.apache.shale.faces.ShaleVariableResolver.resolveVariable(ShaleVariableResolver.java:157) at org.apache.myfaces.config.LastVariableResolverInChain.resolveVariable(LastVariableResolverInChain.java:42) at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:574) at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124) at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:383) ... 42 more