访问Spring Web流中的flash属性



我使用

   redirectAttributes.addFlashAttribute("msg","Level complete")

访问重定向的jsp上的消息。

重定向到Webflow时,如何使用此重定向属性?

当flash属性用于将数据从一个控制器发送到网络流时,我们必须将重定向的flash属性(来自控制器)绑定到网络流的响应JSP页面。为此,我们可以维护一个后端FormAction类,将值绑定到webflow的任何范围。在flow xml中,我们可以在进入视图状态时调用自定义方法。

FormAction类的自定义方法类似

public void setupReferenceData(RequestContext context) throws Exception {
        HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getNativeRequest();
        Map<String, ?> inputFlashMap = RequestContextUtils.getInputFlashMap(request);
        if (inputFlashMap != null) {
            String flash = (String) inputFlashMap.get("flash");
            context.getRequestScope().put("flash1", flash);
        }
    }

此方法调用应包含在视图状态的入口部分中。所以流xml应该有这些部分。

<view-state id="request" view="hello">
            <on-entry>
                <evaluate expression="requestAction.setupReferenceData" />
            </on-entry>
            <transition on="next" to="helloend"/>
    </view-state>

最新更新