You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by "Frank W. Zammetti" <fz...@omnytex.com> on 2005/08/25 21:18:02 UTC

Re: [SHALE] Still not getting to resulting page based on navigation rules

Just getting into JSF myself, but don't you need a <from-view-id> element
too?  I don't know if that's optional or not, but I've always seen it.

-- 
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com

On Thu, August 25, 2005 3:03 pm, Rick Reumann said:
> Once again I'm stuck and I'm not sure what the problem is. Not sure if
> this is Shale or MyFaces related, but I'll post here first.
>
> Before the problem some background:
>
> <faces-config>
>      <navigation-rule>
>        <navigation-case>
>           <from-outcome>success</from-outcome>
>           <to-view-id>/employeeForm.jsp</to-view-id>
>        </navigation-case>
>     </navigation-rule>
>
>      <managed-bean>
>        <managed-bean-name>employees</managed-bean-name>
>        <managed-bean-class>net.reumann.Employees</managed-bean-class>
>        <managed-bean-scope>request</managed-bean-scope>
>     </managed-bean>
>
>      <managed-bean>
>        <managed-bean-name>employee</managed-bean-name>
>        <managed-bean-class>net.reumann.Employee</managed-bean-class>
>        <managed-bean-scope>request</managed-bean-scope>
>     </managed-bean>
> </faces-config>
>
>
> index.jsp
> --------
> <jsp:forward page="/employees.faces"/>
>
>
> Employees.java
> --------------
> backing bean
> has prerender()
> getEmployees() //returns list of EmployeeVO objects
>
>
> Employee.java
> -------------
> backing bean with vars matching EmployeeVO for form use
> has method:
>     public String retrieveEmployeeAction() {
>          log.debug("in retrieveEmployeeAction()");
>          //..
>          return "success";
>     }
>
> employees.jsp
> -------------
> <f:view>
>      <h:form>
>      <h:dataTable var="emp" value="#{employees.employees}" >
>       ...
>       </h:dataTable>
>       <h:commandButton value="test"
> action="#{employee.retrieveEmployeeAction}"/>
>      </h:form>
> </f:view>
>
> employeeForm.jsp
> ------------
>   never reached:(
>    <f:view>
>          <h:form>
>
>          </h:form>
> </f:view>
>
>
> PROBLEM:
> --------
> When I click on the link for retrieveEmployeeAction from employees.jsp,
> I see the log message fire in the appropriate method but I never reach
> employeeForm.jsp. I also see right after the log message in
> retrieveEmployeeAction, the log message in my prerrender of
> Employees.java - that prerrender *shouldn't* fire becuase I don't see
> why that file would be bound since I shouldn't be returning to
> employees.jsp. The only thing I can think of is that "success" isn't
> being picked up correctly by the navigation rules so it's trying to
> return back to employees.jsp - in which case I could see why the
> prerender would fire since it should. The error I keep getting after
> clicking on the retrieveEmployeeAction link is:
>
>
> 2005-08-25 14:56:07 StandardWrapperValve[Faces Servlet]:
> Servlet.service() for servlet Faces Servlet threw exception
> javax.faces.FacesException: javax.servlet.ServletException:
> javax.servlet.jsp.JspException: Unrecognized Content Type.
> 	at
> com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:327)
> 	at
> com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
> 	at
> org.apache.shale.faces.ShaleViewHandler.renderView(ShaleViewHandler.java:142)
> 	at
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
>      <snip>
> Caused by: javax.servlet.ServletException:
> javax.servlet.jsp.JspException: Unrecognized Content Type.
> 	at
> org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:821)
> 	at
> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
> 	at org.apache.jsp.employeeForm_jsp._jspService(employeeForm_jsp.java:66)
> 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
>      <snip>
>
> If it matters here is my web.xml
> --------------------------------
>
> <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>
>
>     <servlet>
>        <servlet-name>Faces Servlet</servlet-name>
>        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
>        <load-on-startup>1</load-on-startup>
>     </servlet>
>
>     <servlet-mapping>
>        <servlet-name>Faces Servlet</servlet-name>
>        <url-pattern>*.faces</url-pattern>
>     </servlet-mapping>
>
>     <welcome-file-list>
>        <welcome-file>index.jsp</welcome-file>
>     </welcome-file-list>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org