返回父流视图状态时,子流弹出窗口不允许渲染片段

Subflow popup does not allow render fragments when returning to parent flow view-state

我有一个在弹出窗口中显示的子流程。当弹出窗口关闭时,由于单击提交或取消按钮,转换回主流程的视图状态会导致整个页面重新加载。问题是我的底层父流页面包含一个文件选择器控件,该控件在刷新页面时会丢失用户选择。为了保留输入的数据,我想按照在同一流的视图状态之间转换时的方式更新父流页面的片段。

这是我的流程xml:

主要流程:

<view-state id="main">
    <transition on="start" to="child-flow"/>
    <transition on="finish" to="finished"/>
</view-state>

<subflow-state id="child-flow" subflow="main/childFlow">
    <transition on="submitted" to="main">
        <render fragments="popupClosed" />
    </transition>
</subflow-state>

<end-state id="finished" />

子流:

<view-state id="childFlow" view="main/childFlow" popup="true">
    <transition on="submit" to="popupClosed" />
    <transition on="cancel" to="popupClosed" />
</view-state>

<end-state id="popupClosed" />

我正在使用 Spring WebFlow v2.0.8 与 Tiles 和 JSP。

谢谢, 斯蒂芬

如果你想要 javascript 键入 pop up/modal 功能,请不要使用 'popup' 属性,像这样实现它。