2013-06-18 2 views
1

Spring Web Flow 정의에서 동적 전환을 정의 할 수 있는지 알고있는 사람이 있습니까?Spring WebFlow의 동적 전환

예 1 - 프로퍼티 파일을 사용 :

<action-state id="createSubscription" > 
    <evaluate expression="myvar" /> 
    <transition on="$[test.result.valid]" to="subscribeUser-successResponse" /> 
    <transition        to="subscribeUser-exceptionResponse" /> 
</action-state> 

예 2 - 변수 자체의 값을 사용하여 :

<action-state id="createSubscription" > 
    <evaluate expression="myvar" /> 
    <transition to="$[myvar]" /> 
</action-state> 

그것은 필수 아니지만,보다 일반적인 흐름을 설계하는 데 도움 수 있습니다.

미리 감사드립니다.

답변

3

"to"로 전환 할 때 확실히 할 수 있습니다. prepareNextState 방법으로

<action-state id="createSubscription"> 
     <evaluate expression="myAction.prepareNextState(flowScope.formBean)"/> 
     <transition to="${flowScope.formBean.displayNextState}"> 
    </action-state> 

    <view-state id="someView" view="someView" model="formBean"> 
     ... 
    </view-state> 

및 시켜라 클래스 그대로 :

public class MyAction implements Serializable{ 
     .... 
     public void prepareNextState(FormBean formBean){ 
      //displayNextState is a String field in FormBean     
      formBean.setDisplayNextState("someView"); 
     } 
     .... 
    } 

이 방법으로 우리는 "을"전환에 대한 일반적인 전환을 정의 할 수 한다고 가정 흐름 XML은 어떤 행동과 뷰 상태를 가지고있다.

+0

지금은 테스트 할 수 없지만 잘 보입니다. 올바른 것으로 예상되는 답변을 표시했습니다. 고맙습니다. –

+1

나는 여러 개의 버튼이있는 뷰 상태를 통해 비슷한 구현을했지만, "to"는 다른 버튼에 대해 displayNextState가 사용자가 클릭하는 버튼이 될 때마다 다릅니다.) – Prasad

+0

유일한 것은 displayNextState 해당 전이 호출 될 때 null이 아 U니다. – Prasad

관련 문제