Spring web flow: потоки XML не регистрируются - PullRequest
0 голосов
/ 19 ноября 2011

Я использую весенний веб-поток, и я зарегистрировал все потоки xmls в webflow.xml следующим образом

 <!-- The Flow handler adapter, to handle flows request recieved by the dispatcher servlet -->
 <bean id="flowController" class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter">  
     <property name="flowExecutor" ref="flowExecutor"/>  
 </bean>
<flow:flow-registry id="myflowRegistry" flow-builder-services="flowBuilderServices" >
        <!-- all xml files in base path and subfolders  -->    
        <flow:flow-location path="/WEB-INF/flows/payslips.xml" />          
        <flow:flow-location path="/WEB-INF/flows/admissions.xml" />
        <flow:flow-location id="cash-advance" path="/WEB-INF/flows/cashadvance.xml"/>
        <flow:flow-location path="/WEB-INF/flows/services.xml" />
        <flow:flow-location path="/WEB-INF/flows/undergradadm.xml" />
     </flow:flow-registry>   
  <bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
    <property name="order" value="0" />
    <property name="flowRegistry" ref="myflowRegistry" />

</bean>

Теперь, когда я пытаюсь получить доступ к любой из этих страниц с помощью payslips.go или cash-advance.go, они не работают и дают мне:

Error 500: Request processing failed; nested exception is java.lang.StringIndexOutOfBoundsException: String index out of range: 1

Я очень новичок в webflow, и кажется логичным, что он должен работать Представления в весеннем MVC, которые не являются частью веб-потока или не имеют xmls, определенных в потоке, работают отлично, потому что они не имеют ничего общего с веб-потоком. но эти страницы, у которых есть определенный поток. Я не думаю, что Mozilla имеет какое-либо отношение к этому.

На некоторых других машинах они работают нормально. должно быть что-то с моей собственной настройкой, чтобы оно не позволяло работать.

Может быть, это тоже поможет

Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 1
    at java.lang.String.substring(String.java:1060)
    at org.springframework.webflow.context.servlet.DefaultFlowUrlHandler.getFlowId(DefaultFlowUrlHandler.java:83)
    at org.springframework.webflow.mvc.servlet.FlowHandlerMapping.getHandlerInternal(FlowHandlerMapping.java:92)
    at org.springframework.web.servlet.handler.AbstractHandlerMapping.getHandler(AbstractHandlerMapping.java:184)
    at org.springframework.web.servlet.DispatcherServlet.getHandler(DispatcherServlet.java:1057)

Спасибо

1 Ответ

0 голосов
/ 24 июля 2012

Вот как я настраиваю SWF:

<!--
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                                    SPRING WEB FLOW'S CONFIGURATION
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-->

<!-- Creates a flow executor in Spring, responsible for creating and executing flows -->
<flow:flow-executor id="flowExecutor" flow-registry="flowRegistry" />

<!-- Load flow definitions and make them available to the flow executor -->
<flow:flow-registry id="flowRegistry">
    <flow:flow-location id="process-flow" path="/process/flows/process-flow.xml" />
</flow:flow-registry>

<!-- The FlowHandlerMapping helps DispatcherServlet to knowing that it should send flow requests to Spring Web Flow -->
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
    <property name="flowRegistry" ref="flowRegistry" />
</bean>

<!-- The FlowHandlerAdapter is equivalent to a Spring MVC controller in that it handles requests coming in for a flow and processes those requests -->
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter">
    <property name="flowExecutor" ref="flowExecutor" />
</bean>

Мой поток находится в корне моей веб-папки, но вы также можете использовать каталог WEB-INF; таким образом, путь должен быть "/WEB-INF/foo/bar.xml/".

Надеюсь, это поможет, привет.

...