Make sure that you have the ShaleApplicationFilter in your web deployment
descriptor (web.xml). This guy registers the
ShalePhaseListener that fires some of the livecycle events on the view
controller.
<!-- Shale Application Controller Filter -->
<filter>
<filter-name>shale</filter-name>
<filter-class>
org.apache.shale.faces.ShaleApplicationFilter
</filter-class>
</filter>
<!-- Shale Application Controller Filter Mapping -->
<filter-mapping>
<filter-name>shale</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
You might not need the shale-clay.jar archive. It is optional and you won't
need this stuff if you are not using it (in your web.xml).
<!-- Clay Configuration Resources -->
<context-param>
<param-name>clay-config-files</param-name>
<param-value>/WEB-INF/clay-config.xml</param-value>
</context-param>
<!-- Clay template suffix override, default is .clay -->
<context-param>
<param-name>clay-template-suffix</param-name>
<param-value>.html</param-value>
</context-param>
<!-- Clay Configuration Listener -->
<listener>
<listener-class>org.apache.shale.clay.config.ClayConfigureListener</listener-class>
</listener>
<servlet-mapping>
<servlet-name>faces</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
Gary
--- Begin Message ---
Currently I'm just trying to see if I can get to a blank page without errors so I just have...
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<f:view>
<h:form>
</h:form>
</f:view>
But I've tried other things.. just blank, just one word, just
<f:view> </f:view> and tried with my actual form that I
wanted between the h:form tags.
I'm wondering if the problem is because I'm using all the shale jars
from the struts-shale-usecases example but I'm not setting up a bunch
of the other configs I see under web-xml that are in that example (ie
chain-config.xml, dialog-config.xml, etc). I wasn't sure what the
minimal jars I needed to use Shale and the ViewController were so I
just included them all (I tried removing the Spring ones and the
application wouldn't start up).
On 8/25/05, CONNER, BRENDAN (SBCSI) <[EMAIL PROTECTED]> wrote:
Did
you wrap your JSF code in <f:view>...</f:view>?
-
Brendan
-----Original Message-----
From: Rick Reumann
[mailto:[EMAIL PROTECTED]]
Sent: Thursday, August 25, 2005
9:01 AM
To: MyFaces Discussion
Subject: I know annoying
when someone posts a stacktrace, but any help ?
I feel
stupid posting this, but his stack trace doesn't seem to help me pinpoint why
my navigation to a follow up page after a backingbean method is invoked is not
working. (I've checked the spelling this time, and the employeeForm.jsp is in
the root dir)...
<navigation-rule>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/employeeForm.jsp</to-view-id>
</navigation-case>
</navigation-rule>
Method that "is'" being called:
public
String retrieveEmployeeAction()
{
log.debug("in
retrieveEmployeeAction()");
//get Employee from backend
this.name =
"Rover";
this.age = new
Integer(25);
return
"success";
}
After the above method fires, I get
the nice 500 errorI have no idea why. (Couple notes... the backing bean method
first called is returning "success" and "employeeForm.jsp" is spelled
correctly and does exist)...
2005-08-24 18:05:27
StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces
Servlet threw exception
javax.faces.FacesException:
java.lang.IllegalStateException: No WebApplicationContext found: no
ContextLoaderListener registered?
at
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:83)
at
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at
javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
.... <snip>
Caused by:
javax.faces.el.EvaluationException: java.lang.IllegalStateException: No
WebApplicationContext found: no ContextLoaderListener registered?
at
com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:206)
at
com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:154)
at
org.apache.shale.faces.ShaleViewHandler.setupViewController(ShaleViewHandler.java:224)
at
org.apache.shale.faces.ShaleViewHandler.createView(ShaleViewHandler.java:122)
at
org.apache.shale.clay.faces.ClayViewHandler.createView(ClayViewHandler.java:111)
at
com.sun.faces.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:135)
at
org.apache.shale.dialog.faces.DialogNavigationHandler.handleNavigation(DialogNavigationHandler.java:184)
at
... <snip>
Caused by: java.lang.IllegalStateException: No
WebApplicationContext found: no ContextLoaderListener registered?
at
org.springframework.web.jsf.FacesContextUtils.getRequiredWebApplicationContext(FacesContextUtils.java:78)
at
org.springframework.web.jsf.DelegatingVariableResolver.getWebApplicationContext(DelegatingVariableResolver.java:134)
at
org.springframework.web.jsf.DelegatingVariableResolver.resolveVariable(DelegatingVariableResolver.java:112)
at
org.apache.shale.spring.WebApplicationContextVariableResolver.resolveVariable(WebApplicationContextVariableResolver.java:86)
at
org.apache.shale.faces.ShaleVariableResolver.resolveVariable(ShaleVariableResolver.java:99)
at
com.sun.faces.el.impl.NamedValue.evaluate(NamedValue.java:125)
at
com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:243)
at
com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:173)
... 43 more
--
Rick
--
Rick
--- End Message ---