отсутствует, не заполняется flowExecutionUrl

120
21 октября 2019, 15:10

Делаю приложение используя Spring MVC и Spring Web Flow, сделав некий flow я могу попасть на него используя ${flowExecutionUrl} в JSP файле, но из-за некой, невиданной мне "магии" flowExecutin равен = "".

Код конфига:

  @Configuration
 public class WebFlowConfig extends AbstractFlowConfiguration {
@Bean
public FlowBuilderServices flowBuilderServices() {
    return getFlowBuilderServicesBuilder()
            .setViewFactoryCreator(mvcViewFactoryCreator())
            .setDevelopmentMode(true).build();
}
@Bean
public MvcViewFactoryCreator mvcViewFactoryCreator() {
    MvcViewFactoryCreator factoryCreator = new MvcViewFactoryCreator();
    factoryCreator.setViewResolvers(
            Collections.singletonList(this.webMvcConfig.resourceViewResolver()));
    factoryCreator.setUseSpringBeanBinding(true);
    return factoryCreator;
}
@Autowired
private DispatcherConfig webMvcConfig;
@Bean
public FlowDefinitionRegistry flowRegistry() {
   FlowDefinitionRegistry registry = getFlowDefinitionRegistryBuilder().addFlowLocation("/WEB-INF/flows/order/flowcnf.xml","order").build();
   return registry;
}
@Bean
public FlowExecutor flowExecutor() {
    return
            getFlowExecutorBuilder(flowRegistry()).build();
}
@Bean
public FlowHandlerMapping flowHandlerMapping(){
    final FlowHandlerMapping handeler = new FlowHandlerMapping();
    handeler.setFlowRegistry(flowRegistry());
      handeler.setOrder(0);
    return handeler;
}
@Bean
public FlowHandlerAdapter adapter(){
    FlowHandlerAdapter adapter = new FlowHandlerAdapter();
    adapter.setFlowExecutor(flowExecutor());
    return adapter;
}
}

Вызываю flow вот так:

<a class=button href="${flowExecutionUrl}&_eventId=thankCustomer">Заказать!</a>

Ну и собственно сам flow:

        <?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"
  start-state="thankCustomer">
<!--
<var name="order" class="entity.BookOrder"/>
<subflow-state id="identify" subflow="order/custom" >
    <output name="user" value="order.user" />
    <transition on="userIsReady" to="buildOrder"/>
</subflow-state>
<subflow-state id="buildOrder" subflow="order/build">
    <input name="order" value="order" />
    <transition to="takePayment" on="orderBuilt" />
</subflow-state>

<subflow-state id="takePayment" subflow="order/takePayment" >
    <input name="order" value="order"/>
    <transition on="paymentTaken" to="saveOrder" />
</subflow-state>
<action-state id="saveOrder">
    <evaluate expression="userServiceImpl.addOrder(order.custName,order)"/>
    <transition to="thankCustomer" />
</action-state>
-->
<view-state id="thankCustomer" view="/WEB-INF/pages/greeting.jsp" >
    <transition to="end-point" />
</view-state>
<end-state id="end-point"/>
<global-transitions>
    <transition on="cancel" to="end-point" />
</global-transitions>
 </flow>

Рут проекта:

Я понятия не имею, как дебажить состояние flowExecutionUrl, но сделал вот это в моем JSP файле.

<%
            String url = (String) session.getAttribute("flowExecutionUrl");
            System.out.println("FLOW EXECUTION URL :"+url);%>

В логи выводится:

FLOW EXECUTION URL :null
READ ALSO
Некорректная работа synchronized java

Некорректная работа synchronized java

Изучаю Герберта Шилдта Java 8 Руководство для начинающих, и вопрос в следующемСогласно книге метод synchronized обязан дать выполниться методу до завершения...

157
OpenGL ориентация

OpenGL ориентация

Каким образом можно сделать чтобы точка 0, 0 не была в низу слева, а чтобы она была вверху слева? Пробовал glOrtho(0D, 640D, 480D, 0D, 0D, 0D), но он ничего не делает

150
Можно ли сделать div такого вида? [закрыт]

Можно ли сделать div такого вида? [закрыт]

надо сделать див такого плана, и чтобы дочерние элементы были в закрашенной области, можно так сделать?

267
Как перезапустить таймер по кнопке

Как перезапустить таймер по кнопке

Есть код таймера всё отлично только не знаю как сделать чтобы по кнопке которую я задам он перезапускался

129