나는 표현식을 평가 한 다음 그 결과에 따라 다른 여러 상태로 전환하는 활동 - 상태를가집니다. 결과 상태 중 하나는 제어를 다른 플로우로 전달하는 하위 플로우 상태입니다 (예 :스프링 웹 플로우 : 전환하는 동안 하나의 흐름에서 다른 흐름으로 속성을 전달하려면 어떻게해야합니까?
<action-state id="doWork">
<evaluate expression="someAction.doWork(someInput)" />
<transition on="WORKSUCCESS" to="workSuccess" />
<transition on="WORKFAIL" to="fixFail" />
</action-state>
<subflow-state id="fixFail" subflow="someOtherPlace/someOtherWorkToFixFail">
<input name="someNumber" value="1" type="java.lang.Integer" />
<transition on="finish" to="workSuccess" />
</subflow-state>
당신은 내가 입력 태그를 통해 서브 플로우에 입력을 전달할 수 있지만, 내 질문에 내가 지정하고 내가하고 하위 흐름 상태가 현재 호출되는 경우에만 경우 할 추가 입력을 전달할 수있는 방법입니다 볼 수 있듯이 과도기 WORKFAIL에서? 서브 플로우 - 상태 "fixFail"이 다른 조치 상태에서 호출 될 수 있다고 가정하십시오.
나는 효과가없는 다음과 유사한 것을 시도했다.
<action-state id="doWork">
<evaluate expression="someAction.doWork(someInput)" />
<transition on="WORKSUCCESS" to="workSuccess" />
<transition on="WORKFAIL" to="fixFail">
<attribute name="newInput" value="3000" type="java.lang.Integer" />
</transition>
</action-state>
<subflow-state id="fixFail" subflow="someOtherPlace/someOtherWorkToFixFail">
<input name="someNumber" value="1" type="java.lang.Integer" />
<input name="someNumber2" value="flowScope.newInput" type="java.lang.Integer" />
<transition on="finish" to="workSuccess" />
</subflow-state>
흠 conversationScope은 내가 생각이 경우 원하는 같은 소리에. 세션이 처음으로 끝나면 사용자가 이러한 흐름을 반복하면서 어떤 세션 속성이 유지 될지를 세션에 동의합니다. 사용자 인터페이스에서 주 플로우가 끝나면 대화 범위 범위 속성이 사라지고 사용자가 주 플로우를 두 번째 입력 한 경우 존재하지 않을 것입니다. on = "WORKFAIL"전환에서 conversationScope에 추가 할 수있는 방법이 있습니까? 내가 작업을 자바 코드에 추가하는 대신 xml/jsps에 보관하고 싶습니다. –
@Nick Foote - 질문에 대답하기 위해 제 편집을보세요 –
jsp에서 $ {converationScope.someVariable}과 같은 모든 종류의 것을 시도해 보았을 때 치료가 효과가있는 건배! –