Spring Web Flow = 404

1 resposta
S

Olá galera,

Eu segui um guia de uma revista, porém nem tudo se aplica pois eles começaram uma configuração zerada, e eu já tinha algo feito, então o que eu aproveitei foram os fontes deles dos arquivos de configuração do Spring e do Web Flow, o web.xml eu apenas fiz um merge com o que eu ja tinha.

Estou usando uma aplicação sample que baixei do site da revista, que tem 3 páginas simples e seus fluxos, e minha intenção é fazer isso funcionar para daí sim começar a fazer minhas próprias páginas.

Basicamente o que acontece, eu carrego uma página inicial qualquer (index.xhtml) e nela tem um link que deveria redirecionar para a primeira página do fluxo só que me retorna erro 404.

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>Integrando JSF2 e Spring 3</title>
    </h:head>
    <h:body>
        <a href="livros">Clique aqui para acessar a aplicação</a>
    </h:body>
</html>

E o que me retorna é:
type Status report

message /reports/livros
description The requested resource (/reports/livros) is not available.

Sendo que reports é o nome do projeto, e livros é o diretório onde estão as páginas e o arquivo xml de configuração dos fluxos.

Basicamente, nessa estrutura:
WEB-INF -> flows -> livros -> livros-flow.xml(arquivo de configuração dos fluxos) e páginas .xhtml

Aqui meu applicationContext
<bean class="org.springframework.faces.webflow.JsfFlowHandlerAdapter">
        <property name="flowExecutor" ref="flowExecutor" />
    </bean>
    
    <context:component-scan base-package="org.jm.services" />

    <!-- Maps request paths to flows in the flowRegistry; e.g. a path of /hotels/booking looks for a flow with id "hotels/booking" -->
    <bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
        <property name="order" value="1"/>
        <property name="flowRegistry" ref="flowRegistry" />
        <property name="defaultHandler">
			<!-- If no flow match, map path to a view to render; e.g. the "/intro" path would map to the view named "intro" -->
            <bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />
        </property>
    </bean>

	<!-- Maps logical view names to Facelet templates in /WEB-INF (e.g. 'search' to '/WEB-INF/search.xhtml' -->
    <bean id="faceletsViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.faces.mvc.JsfView"/>
        <property name="prefix" value="/WEB-INF/" />
        <property name="suffix" value=".xhtml" />
    </bean>

	<!-- Dispatches requests mapped to org.springframework.web.servlet.mvc.Controller implementations -->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />

    <import resource="webflow-config.xml" />

</beans>
webflow-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:webflow="http://www.springframework.org/schema/webflow-config"
       xmlns:faces="http://www.springframework.org/schema/faces"
       xsi:schemaLocation="
           http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/webflow-config
           http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd
           http://www.springframework.org/schema/faces
           http://www.springframework.org/schema/faces/spring-faces-2.0.xsd">

	<!-- Executes flows: the central entry point into the Spring Web Flow system -->
	<webflow:flow-executor id="flowExecutor">
		<webflow:flow-execution-listeners>
			<webflow:listener ref="facesContextListener"/>
		</webflow:flow-execution-listeners>
	</webflow:flow-executor>

	<!-- The registry of executable flow definitions -->
	<webflow:flow-registry id="flowRegistry" flow-builder-services="facesFlowBuilderServices" base-path="/WEB-INF/flows">
		<webflow:flow-location-pattern value="/**/*-flow.xml" />
	</webflow:flow-registry>

	<!-- Configures the Spring Web Flow JSF integration -->
	<faces:flow-builder-services id="facesFlowBuilderServices" development="true" />

	<!-- Installs a listener that creates and releases the FacesContext for each request. -->
	<bean id="facesContextListener" class="org.springframework.faces.webflow.FlowFacesContextLifecycleListener"/>
</beans>

Alguem me ajude por favor

1 Resposta

da20web

Olá amigo,

Estou com um problema parecido, sempre me retorna 404.

No meu caso sempre que envio um h:form apertando o h:commandButton me mostra a url …/WEB-INF/…/pagina.xhtml

Chegou a ter alguma solução pra isso?

Criado 22 de setembro de 2011
Ultima resposta 6 de ago. de 2014
Respostas 1
Participantes 2