Неудачный переход между страницами с использованием Spring webflow

Я пытаюсь использовать Spring-webflow в связи с Spring-MVC. Я выполнил шаги, указанные в справочнике Spring, и у меня есть доступ к первой странице со следующим кодом:

<%@page isELIgnored="false" %>
<html>
<head>
<title>Import</title>
</head>
<body>
    <a href="${flowExecutionUrl}&_eventId=facebook">Import facebook
        datas</a>
</body>
</html>

Однако он перенаправляет меня на localhost/myAPP/&_eventId=facebook с ошибкой 404 в подарок.

Вот мой файл конфигурации сервлета:

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


    <import resource="properties.xml" />

    <context:component-scan base-package="com.dynamease.web.social" />
    <context:annotation-config />

    <mvc:annotation-driven />

    <mvc:interceptors>
        <bean class="com.dynamease.entity.springsocialentities.UserInterceptor">
            <constructor-arg ref="usersConnectionRepository" />
        </bean>
    </mvc:interceptors>

    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>
    <bean id="viewResolverImport"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/import/" />
        <property name="suffix" value=".jsp" />
    </bean>

    <!-- Allows users to sign-in with their provider accounts. -->
    <bean class="org.springframework.social.connect.web.ProviderSignInController">
        <constructor-arg ref="connectionFactoryLocator" />
        <constructor-arg ref="usersConnectionRepository" />
        <constructor-arg>
            <bean class="com.dynamease.entity.springsocialentities.SimpleSignInAdapter" />
        </constructor-arg>
    </bean>


    <mvc:view-controller path="/signin" />
    <mvc:view-controller path="/signout" />
    <mvc:view-controller path="/import/import"/>

    <!-- Spring web flow -->
    <bean id="viewFactoryCreator"
        class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator">
        <property name="viewResolvers" ref="viewResolverImport" />
    </bean>
    <webflow:flow-builder-services id="flowBuilderServices"
        view-factory-creator="viewFactoryCreator" />

    <webflow:flow-registry id="flowRegistry"
        flow-builder-services="flowBuilderServices">
        <webflow:flow-location path="/web-INF/views/import/registryImport.xml" />
    </webflow:flow-registry>

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

    <bean class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter">
        <property name="flowExecutor" ref="flowExecutor" />
    </bean>
    <bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
        <property name="flowRegistry" ref="flowRegistry"/>
        <property name="order" value="0" />
    </bean>
</beans>

И вот мой файл конфигурации веб-потока:

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

    <view-state id="import" view="import.jsp">
        <transition on="facebook" to="facebook" />
    </view-state>

    <end-state id="facebook" />
</flow>

Я предполагаю, что где-то ошибся в преобразователях URL, но я не могу сказать, где. Есть идеи ?


person merours    schedule 27.06.2013    source источник


Ответы (1)


Он перенаправляет вас на *localhost/myAPP/&_eventId=faceboo*, но это должно выглядеть так:

localhost/myAPP/registryImport?execution=s1e1&_eventId=facebook

Какой адрес отображается в браузере на странице с этой ссылкой? А как вы начинаете свой поток?

person demi    schedule 28.06.2013
comment
Чтобы ответить на ваш второй вопрос, я начинаю поток, перейдя в myApp/import/import. Я не могу сейчас попробовать то, что вы предложили, я сообщу вам, как только смогу. - person merours; 28.06.2013