Hi Werner,

Sylvain is right but you can not use the aliased bean in a component
binding. Component bindings are resolved at creation time of the
component which is currently not handled by the alias component.

<h:selectOneMenu binding="#{controller.bldSelectOne}" ... /> will not
work if controller is aliased.

Mathias

> -----Original Message-----
> From: news [mailto:[EMAIL PROTECTED] On Behalf Of Werner Punz
> Sent: Tuesday, May 17, 2005 10:23 AM
> To: [email protected]
> Subject: Re: aliasbean question
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Ok here is the full stacktrace and the code behind it (sorry 
> for the delay)
> 
>       <h:form id="xxx">
>       <x:aliasBean alias="#{control}" value="#{bldGmdBezController}">
>               <x:aliasBean alias="#{holder}" 
> value="#{testLocationForm}">
>                       <f:subview id="simulatedIncludedSubform1">
>                               <jsp:include 
> page="../../inc/webobjects/bld.jsp" />
>                       </f:subview>
>               </x:aliasBean>
>       </x:aliasBean>  
>       </h:form>
> 
> 
> and the subview:
> 
> <h:panelGrid columns="1">
>       <h:selectOneMenu binding="#{controller.bldSelectOne}"
>               id="selectBld" value="#{holder.bldId}"
>               
> valueChangeListener="#{controller.processBldValueChange}"
>               
> onchange="document.forms['#{controller.formId}'].submit();">
>               <f:selectItems value="#{bundeslandBean.items}" />
>       </h:selectOneMenu>
>       <h:selectOneMenu binding="#{controller.bezSelectOne}"
>               id="selectBez" value="#{holder.bezId}"
>               
> valueChangeListener="#{controller.processBezirkValueChange}"
>               
> onchange="document.forms['#{controller.formId}'].submit();"
>               disabled="false">
>               <f:selectItems value="#{bezirkBean.items}" />
>       </h:selectOneMenu>
>       <h:selectOneMenu binding="#{controller.gmdSelectOne}"
>               id="selectGmd" value="#{holder.gmdId}"
>               
> onchange="document.forms['#{controller.formId}'].submit();"
>               disabled="false">
>               <f:selectItems value="#{gemeindeBean.items}" />
>       </h:selectOneMenu>
> </h:panelGrid>
> 
> 
> The funny thing is as soon as I replace the nested aliasbean tag with
> a direct call the error goes away.
> 
> 
> ERROR org.apache.myfaces.el.ValueBindingImpl - Cannot set value for 
> expression '#{controller.bldSelectOne}' to a new value of type 
> javax.faces.component.html.HtmlSelectOneMenu
> javax.faces.el.PropertyNotFoundException: Base is null: controller
>       at 
> org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndPropert
> y(ValueBindingImpl.java:523)
>       at 
> org.apache.myfaces.el.ValueBindingImpl.setValue(ValueBindingIm
> pl.java:309)
>       at 
> org.apache.myfaces.application.ApplicationImpl.createComponent
> (ApplicationImpl.java:459)
>       at 
> javax.faces.webapp.UIComponentTag.createComponentInstance(UICo
> mponentTag.java:474)
>       at 
> javax.faces.webapp.UIComponentTag.findComponent(UIComponentTag
> .java:428)
>       at 
> javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:256)
>       at 
> org.apache.jsp.inc.webobjects.bld_jsp._jspx_meth_h_selectOneMe
> nu_0(bld_jsp.java:151)
>       at 
> org.apache.jsp.inc.webobjects.bld_jsp._jspx_meth_h_panelGrid_0
> (bld_jsp.java:111)
>       at 
> org.apache.jsp.inc.webobjects.bld_jsp._jspService(bld_jsp.java:75)
>       at 
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.java:324)
>       at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:292)
>       at 
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:237)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:157)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatcher.java:704)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doInclude(Appli
> cationDispatcher.java:590)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.include(Applica
> tionDispatcher.java:510)
>       at 
> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntime
> Library.java:966)
>       at 
> org.apache.jsp.tests.bundesland.bldaswo_jsp._jspx_meth_f_subvi
> ew_0(bldaswo_jsp.java:289)
>       at 
> org.apache.jsp.tests.bundesland.bldaswo_jsp._jspx_meth_x_alias
> Bean_1(bldaswo_jsp.java:263)
>       at 
> org.apache.jsp.tests.bundesland.bldaswo_jsp._jspx_meth_x_alias
> Bean_0(bldaswo_jsp.java:235)
>       at 
> org.apache.jsp.tests.bundesland.bldaswo_jsp._jspx_meth_h_form_
> 0(bldaswo_jsp.java:208)
>       at 
> org.apache.jsp.tests.bundesland.bldaswo_jsp._jspx_meth_f_view_
> 0(bldaswo_jsp.java:138)
>       at 
> org.apache.jsp.tests.bundesland.bldaswo_jsp._jspService(bldasw
> o_jsp.java:95)
>       at 
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServlet
> Wrapper.java:324)
>       at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet
> .java:292)
>       at 
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:237)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:157)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(Applicat
> ionDispatcher.java:704)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(
> ApplicationDispatcher.java:474)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(Appli
> cationDispatcher.java:409)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.forward(Applica
> tionDispatcher.java:312)
>       at 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.
> dispatch(ServletExternalContextImpl.java:405)
>       at 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderVi
> ew(JspViewHandlerImpl.java:280)
>       at 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImp
> l.java:300)
>       at 
> javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:237)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:157)
>       at 
> org.apache.myfaces.component.html.util.ExtensionsFilter.doFilt
> er(ExtensionsFilter.java:112)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:186)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:157)
>       at 
> de.mindmatters.faces.spring.RequestHandledFilter.doFilter(Requ
> estHandledFilter.java:117)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> er(ApplicationFilterChain.java:186)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> cationFilterChain.java:157)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> rapperValve.java:214)
>       at 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveContext.java:104)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:520)
>       at 
> org.apache.catalina.core.StandardContextValve.invokeInternal(S
> tandardContextValve.java:198)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardC
> ontextValve.java:152)
>       at 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveContext.java:104)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:520)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> Valve.java:137)
>       at 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveContext.java:104)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> Valve.java:118)
>       at 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveContext.java:102)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:520)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> gineValve.java:109)
>       at 
> org.apache.catalina.core.StandardValveContext.invokeNext(Stand
> ardValveContext.java:104)
>       at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> ine.java:520)
>       at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>       at 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.
> java:160)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Process
> or.java:799)
>       at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> r.processConnection(Http11Protocol.java:705)
>       at 
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi
> nt.java:577)
>       at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:683)
>       at java.lang.Thread.run(Thread.java:595)
> 
> 
> 
> Broekelmann, Mathias wrote:
> > Hi Werner,
> > 
> > Can you post the full stacktrace of the exception?
> > 
> > Mathias
> > 
> > 
> >>-----Original Message-----
> >>From: news [mailto:[EMAIL PROTECTED] On Behalf Of Werner Punz
> >>Sent: Friday, May 13, 2005 2:01 PM
> >>To: [email protected]
> >>Subject: Re: aliasbean question
> >>
> >>
> >>Broekelmann, Mathias wrote:
> >>
> >>>Hi Werner,
> >>>
> >>>Check if myController is not null.
> >>>
> >>>Mathias
> >>>
> >>
> >>Actually no, if I remove the double x:aliasBean
> >>and replace the generic #{controller} again with #{myController}
> >>everything seems to work fine gain.
> >>
> >>
> > 
> > 
> 
> 

Reply via email to