获取 spring 网络流中先前执行状态的 ID
Get the ids of the previously executed states in spring web flow
在我的 Spring Webflow 应用程序中,我试图显示当前点执行状态(从开始)(视图状态和操作状态)的 ID 列表。那么,Java中有没有一种方法可以用来获取这些信息?
谢谢
我建议设置和使用 FlowExecutionListener
,特别是方法 sessionStarted
、stateEntered
和 sessionEnded
您可以使用 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>
在我的 Spring Webflow 应用程序中,我试图显示当前点执行状态(从开始)(视图状态和操作状态)的 ID 列表。那么,Java中有没有一种方法可以用来获取这些信息?
谢谢
我建议设置和使用 FlowExecutionListener
,特别是方法 sessionStarted
、stateEntered
和 sessionEnded
您可以使用 context.getCurrentState().getId()
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>