1

我是 SWF (2.3.1) 的新手,我正在四处玩耍,看看我是否能得到一些基本的工作。当我说“基本”时,我的意思是基本的。在这个阶段,如果我可以避免它,我想避免编写任何 java.lang. 我只想让一个快速而肮脏的流程工作,理想情况下全部在流程配置中。

我已经设法让一个非常基本的线性流程工作,从视图状态(屏幕?) A 到 B 到 C(AboutYou 到 AboutYourCar 到 YourQuote)

<?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.0.xsd">

    <view-state id="AboutYou" view="/WEB-INF/views/jsp/motor/AboutYou.jsp">
        <transition on="Next" to="AboutYourCar" />
    </view-state>


    <view-state id="AboutYourCar" view="/WEB-INF/views/jsp/motor/AboutYourCar.jsp">
        <transition on="Back" to="AboutYou" />
        <transition on="Next" to="YourQuote" />
    </view-state>                               

    <view-state id="Modifications" view="/WEB-INF/views/js/motor/Modifications.jsp">
        <transition on="Back" to="AboutYourCar" />  
    </view-state>

    <view-state id="YourQuote" view="/WEB-INF/views/jsp/motor/YourQuote.jsp">
        <transition on="Back" to="AboutYou" />
    </view-state>                               
</flow>

在 AboutYourCar 视图中,我有一个输入字段询问汽车是否已被修改:

Is your car modified?
<input type="radio" name="modified" value="No">
<input type="radio" name="modified" value="Yes">

如果请求参数“已修改”为“是”,我想做的是转到“修改”视图状态;但我不知道该怎么做。

我想我可以让它在动作状态下工作,但是(据我所知)你需要提供一个动作 bean 来执行一些逻辑。

我也认为我可以使用决策状态,但同样,我不确定我会如何编写它。

或者也许我的整个方法是错误的,修改不是视图状态,但实际上应该是子视图?

任何人都可以提供的任何帮助将不胜感激,

谢谢,内森

4

1 回答 1

3

就像是:

<decision-state id="checkSelection">
    <if test="requestParameters.modified == 'Yes'" then="Modifications" else="YourQuote"/>
</decision-state>

请参阅Spring EL了解您可以使用流配置文件中可用的表达式语言(有或没有您自己的 Java 对象)和EL 变量来了解 Spring WebFlow 可用的隐式变量。

于 2012-08-06T12:55:00.823 回答