我使用
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>