2010-05-20 5 views
0

Je suis nouveau à Spring webflow et maintenant j'essaie l'exemple dans le livre de recettes de printemps et je sais que c'est une question fondamentale.Aucune définition de flux trouvée. Flux Web de printemps

Je reçois l'erreur comme suit,

org.springframework.webflow.definition.registry.NoSuchFlowDefinitionException: No flow definition '${flowExecutionUrl}&_eventId=next' found 
    at org.springframework.webflow.definition.registry.FlowDefinitionRegistryImpl.getFlowDefinitionHolder(FlowDefinitionRegistryImpl.java:126) 
    at org.springframework.webflow.definition.registry.FlowDefinitionRegistryImpl.getFlowDefinition(FlowDefinitionRegistryImpl.java:61) 
    at org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:138) 
    at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:193).... 

ci-dessous est mes configurations,

<bean name="flowController" class="org.springframework.webflow.mvc.servlet.FlowController"> 
     <property name="flowExecutor" ref="flowExecutor"></property> 
    </bean> 

    <webflow:flow-executor id="flowExecutor" /> 

    <webflow:flow-registry id="flowRegistry" > 
     <webflow:flow-location path="/WEB-INF/flows/welcome/welcome.xml"></webflow:flow-location> 
    </webflow:flow-registry> 

/WEB-INF/flows/welcome/welcome.xml,

<view-state id="welcome"> 
    <transition on="next" to="introduction" /> 
    <transition on="skip" to="menu" /> 
</view-state> 

<view-state id="introduction"> 
    <on-render> 
     <evaluate expression="libraryService.getHolidays()" result="requestScope.holidays" /> 
    </on-render> 
    <transition on="next" to="menu" /> 
</view-state> 

<view-state id="menu"></view-state> 

Dans welcome.jsp,

<a href="${flowExecutionUrl}&_eventId=next">Next</a> 
    <a href="${flowExecutionUrl}&_eventId=skip">Skip</a> 

Veuillez nous faire savoir ce qui ne va pas. J'utilise la version 2.0.9.

Merci à l'avance, SD

Répondre

0

Vous agissez comme vous l'aviez entré dans le flux welcome, mais vous n'avez pas. Essayez de créer un fichier index.html dans la racine de votre projet et y mettre le lien suivant (pour l'utilisateur d'entrer manuellement votre application)

<a href="welcome">Enter application</a> 

... ou suivant pour accéder à votre flux automatiquement:

<html> 
<head> 
    <meta http-equiv="Refresh" content="0; URL=spring/welcome"/> 
</head> 
</html> 

... où spring est le motif de votre URL Spring MVC Dispatcher Servlet dans votre web.xml (permet de dire

<servlet> 
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value></param-value> 
    </init-param> 
    <load-on-startup>2</load-on-startup> 
</servlet> 

<!-- Map all /spring requests to the Dispatcher Servlet for handling --> 
<servlet-mapping> 
    <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> 
    <url-pattern>/spring/*</url-pattern> 
</servlet-mapping> 
0

On dirait les valeurs de $ {} flowExecutionKey n'est pas être peuplé. Essayez cette

<c:out value='${flowExecutionKey}'/> 

afin welcome.jsp ressemblera

<a href="<c:out value='${flowExecutionKey}'/>&_eventId=next">Next</a><a href="<c:out value='${flowExecutionKey}'/>&_eventId=skip">Skip</a> 
Questions connexes