Well, I'm not sure what to make of this one. The RI doesn't throw and
exception when a managed bean is not found, just returns a null object.
// Retrieve an existing instance, or one created and configured by
// the managed bean facility
ValueBinding vb =
context.getApplication().createValueBinding("#{" + viewName + "}");
ViewController vc = null;
try {
Object vcObject = vb.getValue(context);
if (vcObject == null) {
log.warn(messages.getMessage("view.noViewController",
new Object[] { viewId, viewName
}));
return;
}
vc = (ViewController) vcObject;
} catch (ClassCastException e) {
log.warn(messages.getMessage("view.notViewController",
new Object[] { viewId, viewName }));
return;
}
I think this is new behavior. What version of myfaces are you using? I'll
include Sean in this thread to see if he as any insights.
Gary
-------------- Original message --------------
From: Mikael Andersson <[EMAIL PROTECTED]>
> Gary VanMatre comcast.net> writes:
>
> [snippet]
> >
> > Make sure that you don't have any expression like #{ managed-bean-name}
> bound to
> > a control. If you are using the " managed-bean-name" symbol, make sure
> it's registered
> > in the faces-config.xml.
> >
> > If you have a more specific exception, HTML/XML config I might be of more
> help.
> >
> > > > Gary
> > >
> > > I really appreciate all your help, I'm a beginner when it comes to web
> > > frameworks and have been trying to learn it by myself.
> > > It feels good to be able to get some help :)
> > >
> >
> > Don't feel alone, we've all been there one time or another.
> >
> > > Thanks, Mikael
> > >
> > >
> >
> > Gary
>
> I'm posting some more information:
> using myfaces 1.1.1
> faces-config.xml doesn't contain a managed bean.
>
> test.xml :
>
> > "-//Apache Software Foundation//DTD Shale Clay View Configuration 1.0//EN"
> "http://struts.apache.org/dtds/shale-clay-config_1_0.dtd">
>
>
>
>
>
>
>
>
>
> baseLayout definition from clay-config.xml :
>
>
>
>
>
>
>
>
>
>
>
>
>
> pages/test.html :
>
Hello
>
> layout/layout.html:
>
>
>
> [ removed css stuff ]
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> layout/defaultNav.html :
>
>
>
Home
>
Links
>
Contact
>
>
>
>
> layout/defaultHeader.html :
>
>
Shale-Clay test
>
>
> layout/defaultBody.html:
>
default body
>
> layout/defaultFooter.html:
>
>
default footer
>
>
> Stacktrace from catalina.out:
> INFO (org.apache.shale.clay.faces.ClayViewHandler) - Clay template
> restoreView
> for /test.xml
> ERROR
> (org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/estoolweb].
> [Faces Servlet]) - Servlet.service() for servlet Faces Servlet threw
> exception
> javax.faces.el.EvaluationException: Cannot get value for expression '#{test}'
> at
> org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:397)
> at
> org.apache.shale.faces.ShaleViewHandler.setupViewController(
> ShaleViewHandler.java:230)
> at
> org.apache.shale.faces.ShaleViewHandler.createView(ShaleViewHandler.java:123)
> at
> org.apache.shale.tiles.TilesViewHandler.createView(TilesViewHandler.java:184)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:127)
>
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:66)
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:252)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
> at
> org.apache.shale.faces.ShaleApplicationFilter.doFilter(
> ShaleApplicationFilter.java:285)
> 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:856)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.
> processConnection(Http11Protocol.java:744)
> 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.IllegalStateException: No WebApplicationContext found:
> no
> ContextLoaderListener registered?
> at
> org.springframework.web.jsf.FacesContextUtils.getRequiredWebApplicationContext(
>
> FacesContextUtils.java:79)
> at
> org.springframework.web.jsf.DelegatingVariableResolver.
> getWebApplicationContext(
> DelegatingVariableResolver.java:141)
> at org.springframework.web.jsf.DelegatingVariableResolver.resolveVariable(
> DelegatingVariableResolver.java:119)
> at
> org.apache.shale.spring.WebApplicationContextVariableResolver.resolveVariable(
>
> WebApplicationContextVariableResolver.java:87)
> at
> org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(
> ValueBindingImpl.java:569)
> at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
> at
> org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:378)
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>