zoukankan      html  css  js  c++  java
  • spring webflow2.4整合springmvc 4.3配置及简单例子

    转载注明出处http://www.cnblogs.com/wdfwolf3/p/6553545.html
    web.xml文件和springmvc-servlet文件按照常规配置,不再赘述。修改Spring配置文件application-context.xml
    ,添加下列代码
        <flow:flow-executor id="flowExecutor" />
    <!--方法1:此时id为base-path和flow流程文件名中间的部分。如果流程文件*-flow.xml路径为/WEB-INF/flows/test/wdfwolf3-flow.xml, 那么id为/test,访问的url即为/test;这里有个问题就是如果valut=“/*-flow.xml”这样写的话base-path和.xml文件中间不能有路径了,此时
         id为文件名,类似于第二种方法
    --> <flow:flow-registry id="flowRegistry" base-path="WEB-INF/flows"> <flow:flow-location-pattern value="/**/*-flow.xml" /> </flow:flow-registry> <!--方法2:此时id为flow文件名,即test。访问的url即为/testflow--> <!--<flow:flow-registry id="flowRegistry"> <flow:flow-location path="WEB-INF/flows/testflow.xml"/> </flow:flow-registry>--> <!--方法3:此时id自定义指定为test。访问的url即为/test--> <!--<flow:flow-registry id="flowRegistry"> <flow:flow-location id="test" path="WEB-INF/flows/testflow.xml"/> </flow:flow-registry>-->
    <bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping" > <property name="flowRegistry" ref="flowRegistry" /> </bean>
    <bean class="org.springframework.webflow.mvc.servlet.FlowHandlerAdapter"> <property name="flowExecutor" ref="flowExecutor"/> </bean>

    这里也可以将flow的配置单独建一个文件,然后在application-context中<import resource="flow配置文件" />。

    由于本文讲的是配置,所以不讲解webflow的使用。举个简单的例子,主要说明一下view的映射,当访问/url请求时,如果DispatcherServlet找不到对应的处理器controller,就会交给Web Flow,这样Web Flow就会按照流程定义开始流程来看一下流程文件testflow.xml

    <?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.4.xsd"
          >
        <view-state id="viewCart" view="viewCart.jsp">
            <transition on="submit" to="viewOrder">
            </transition>
        </view-state>
        <view-state id="viewOrder">
            <transition on="returnToIndex" to="returnToIndex">
            </transition>
        </view-state>
        <end-state id="returnToIndex" view="externalRedirect:servletRelative:/index.jsp">
        </end-state>
    </flow>

    <view-state>,如果只有id属性的时候,会在流程文件所在的文件夹寻找id名字的jsp文件作为view。如果明确指定view属性的话,就找这个名字的jsp文件。在调试过程中遇到的两个坑:

    1.view属性中文件名需要写上.jsp,不然找不到。

    2.具体在哪里找jsp文件,官方文档(下图)中有说明,即“in the directory where the flow is located”,流程所在文件夹。最后是几个jsp文件

    viewCart.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>View Cart</title>
    </head>
    <body>
    <h1>View Cart</h1>
    <a href="${flowExecutionUrl}&_eventId=submit">Submit</a>
    </body>
    </html>

    viewOrder.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <h1>View Order</h1>
    <a href="${flowExecutionUrl}&_eventId=returnToIndex">Return to index</a>
    </body>
    </html>

     



  • 相关阅读:
    解决mysql-8.0.18 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    剑指Offer面试题:28.连续子数组的最大和
    Java BigDecimal
    蓝桥杯 分考场 JAVA
    蓝桥杯 合根植物 JAVA
    蓝桥杯 大臣的旅费 JAVA
    蓝桥杯 危险系数 JAVA
    蓝桥杯 幸运数 JAVA
    【转】对memcached使用的总结和使用场景
    【转】Memcached管理与监控工具----MemAdmin
  • 原文地址:https://www.cnblogs.com/wdfwolf3/p/6553545.html
Copyright © 2011-2022 走看看