It took some time to figure out what you are doing:
I would guess you use an aliased bean (through the var attribute in a
datatable or the aliasbean component) in a component binding. This
will not work. The component binding is out of scope for the aliased
value.
2005/10/10, Stefan Betermieux <[EMAIL PROTECTED]>:
> Hi,
>
> I get an exception while using an aliasBean in the restoreView phase. A normal
> phase looks like this:
>
> DEBUG http-8080-Processor23 org.apache.myfaces.lifecycle.LifecycleImpl -
> entering restoreView in org.apache.myfaces.lifecycle.LifecycleImpl
> DEBUG http-8080-Processor23
> org.apache.myfaces.application.jsp.JspStateManagerImpl - Tree structure
> restored from server session
> DEBUG http-8080-Processor23 org.apache.myfaces.custom.aliasbean.AliasBean -
> restoreState
> DEBUG http-8080-Processor23 org.apache.myfaces.el.VariableResolverImpl -
> Variable 'userManagementServiceTarget' could not be resolved.
> DEBUG http-8080-Processor23 org.apache.myfaces.custom.aliasbean.Alias -
> makeAlias: #{administratorBean} = #{holder}
> DEBUG http-8080-Processor23 org.apache.myfaces.custom.aliasbean.Alias -
> removeAlias: #{administratorBean} != #{holder}
> DEBUG http-8080-Processor23 org.apache.myfaces.lifecycle.LifecycleImpl -
> exiting restoreView in org.apache.myfaces.lifecycle.LifecycleImpl
>
> But in some cases (mostly when returning to the same page again) I get the
> following exception:
>
> DEBUG http-8080-Processor23 org.apache.myfaces.lifecycle.LifecycleImpl -
> entering restoreView in org.apache.myfaces.lifecycle.LifecycleImpl
> DEBUG http-8080-Processor23
> org.apache.myfaces.application.jsp.JspStateManagerImpl - Tree structure
> restored from server session
> DEBUG http-8080-Processor23 org.apache.myfaces.custom.aliasbean.AliasBean -
> restoreState
> DEBUG http-8080-Processor23 org.apache.myfaces.el.VariableResolverImpl -
> Variable 'userManagementServiceTarget' could not be resolved.
> DEBUG http-8080-Processor23 org.apache.myfaces.custom.aliasbean.Alias -
> makeAlias: #{administratorBean} = #{holder}
> DEBUG http-8080-Processor23 org.apache.myfaces.custom.aliasbean.Alias -
> removeAlias: #{administratorBean} != #{holder}
> DEBUG http-8080-Processor23 org.apache.myfaces.el.VariableResolverImpl -
> Variable 'holder' could not be resolved.
> DEBUG http-8080-Processor23 org.apache.myfaces.el.VariableResolverImpl -
> Variable 'holder' could not be resolved.
> ERROR http-8080-Processor23 StandardWrapper[/Lerntagebuch:Faces Servlet] -
> Servlet.service() for servlet Faces Servlet threw exception
> javax.faces.el.PropertyNotFoundException: Base is null: holder
> at
> org.apache.myfaces.el.ValueBindingImpl.resolveToBaseAndProperty(ValueBindingImpl.java:457)
> at
> org.apache.myfaces.el.ValueBindingImpl.setValue(ValueBindingImpl.java:242)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.recursivelyHandleComponentReferencesAndSetValid(LifecycleImpl.java:396)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.recursivelyHandleComponentReferencesAndSetValid(LifecycleImpl.java:404)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.recursivelyHandleComponentReferencesAndSetValid(LifecycleImpl.java:404)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.recursivelyHandleComponentReferencesAndSetValid(LifecycleImpl.java:404)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:157)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:66)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:94)
>
>
> It looks to me as if someone is accessing the holder bean outside the
> aliasBean
> scope. How can I get hands on the culprit? In my jsf pages, I am just
> accessing
> the holder bean inside the aliasBean tags.
>
> TIA,
>
> Stefan
>
--
Mathias