【问题标题】:Get the ids of the previously executed states in spring web flow获取spring web flow中之前执行状态的id
【发布时间】:2020-02-21 02:16:03
【问题描述】:

在我的 Spring Webflow 应用程序中,我试图在当前点显示已执行状态(从开始)(视图状态和操作状态)的 id 列表。那么,Java 中有没有一种方法可以用来获取这些信息?

谢谢

【问题讨论】:

    标签: java spring spring-webflow


    【解决方案1】:

    我建议设置和使用FlowExecutionListener,特别是sessionStartedstateEnteredsessionEnded 方法

    你可以使用context.getCurrentState().getId()获取一个状态的ID

    public class MyFlowListener implements FlowExecutionListener {
    
        @Override
        public void stateEntered(RequestContext context, StateDefinition previousState, StateDefinition state) {
    
        }
    
        @Override
        public void sessionStarted(RequestContext context, FlowSession session) {
    
        }
    
        @Override
        public void sessionEnded(RequestContext context, FlowSession session, String outcome, AttributeMap<?> output) {
    
        }
    }
    

    你可以像这样注册你的监听器(xml配置):

    <bean id="myFlowListener" class="my.custom.webflow.MyFlowExecutionListener"/>
    
    <webflow:flow-executor id="flowExecutor">  
        <webflow:flow-execution-listeners>  
            <webflow:listener ref="myFlowListener"/>  
        </webflow:flow-execution-listeners>  
    </webflow:flow-executor>
    

    【讨论】:

      猜你喜欢
      • 2011-01-05
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多