перенаправить/переслать в Spring WebFlow на поддомен

У меня есть приложение Java Spring Webflow, и для выбора языка ему необходимо перенаправить на собственный поддомен. то есть с mysite.com на fr.mysite.com.

Я пробовал externalRedirect, но просто показывает пустую html-страницу.

Вот фрагмент определения веб-потока:

<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-адресу?


person enkor    schedule 11.10.2013    source источник
comment
вы не можете добавить их к flowScope.redirectUrl?   -  person Philipp Sander    schedule 15.10.2013
comment
Я почему-то не мог. Если бы я попробовал externalRedirect из определения потока, это никогда не сработало. Ошибка не выдается и остается на той же странице без перенаправления. Однако я нашел способ и скоро опубликую его.   -  person enkor    schedule 15.10.2013


Ответы (2)


Мне удалось добиться того, к чему я стремился. Выполнение перенаправления на поддомен в веб-потоке. Так вот как мне удалось заставить его работать.

Итак, в определении потока у меня есть:

<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 так, как хочу, а затем делаю перенаправление в контроллере.

person enkor    schedule 15.10.2013

В файле flow.xml правильный синтаксис EL — #{flowScope.redirectUrl}, а не ${flowScope.redirectUrl}.

person dbreaux    schedule 02.12.2013