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 ---

Reply via email to