0

我有一个 Java Spring Webflow 应用程序,它需要重定向到它自己的子域以进行语言选择。即 mysite.com 到 fr.mysite.com。

我试过 externalRedirect,但只显示一个空白的 html 页面。

这是 webflow 定义片段:

<transition on="found" to="redirectOnRetrieve">         
    <evaluate expression="retrieveController.getFoundApplicationRedirect(flowRequestContext)" result="flowScope.redirectUrl"/> 
</transition>

这决定了我需要重定向到的 URL。以下是使用 externalRedirect 的视图状态:

<view-state id="redirectOnRetrieve" view="externalRedirect:${flowScope.redirectUrl}"/>

是否也可以将请求参数附加到 URL?

4

2 回答 2

1

我设法实现了我所追求的。重定向到 webflow 中的子域。所以这就是我设法让它工作的方法。

所以在流程定义中我有:

<transition on="found" to="redirectOnRetrieve">         
    <evaluate expression="retrieveController.brokerApplicationRedirect(flowRequestContext)"/> 
</transition>

现在,我在retrieveController 中进行了重定向:

   public void brokerApplicationRedirect(RequestContext context) throws IOException, ServletException {
        String urlString = "http://sub.domain.com?param=myparam";        
        context.getExternalContext().requestExternalRedirect(urlString);
    }

因此,我以任何我想要的方式构建 Url 字符串,然后在控制器中进行重定向。

于 2013-10-15T15:10:16.377 回答
0

在 flow.xml 中,正确的 EL 语法是#{flowScope.redirectUrl}而不是${flowScope.redirectUrl}.

于 2013-12-02T20:09:08.370 回答