2013-08-26 3 views
0

В настоящее время моя логика приложения использует параметры запроса для выполнения логики. В моем новом требовании я также могу получить запрос, который будет иметь только ключ db (db будет иметь значения) в качестве параметра запроса. Я могу получить данные из базы данных, но проблема в том, что моя существующая логика/поток не будет работать, поскольку она ожидает данных в parametermap.Перенаправление запроса весной WebFlow

В весенне-MVC я могу просто направить запрос снова и добавить параметры для запроса

@Controller 
public class TestController { 
    @RequestMapping(value="/test") 
    public String showTestPage() { 
     return "forward:/test2?param1=foo&param2=bar"; 
    } 
} 

@Controller 
public class TestController2 { 
    @RequestMapping(value="/test2") 
    public String showTestPage(HttpServletRequest request) { 
     String param1 = request.getParameter("param1"); 
     String param2 = request.getParameter("param2"); 
     return "testPageView"; 
    } 
} 

Но весной-WebFlow Я не уверен, как повторить такое же поведение, как он работает на государства вместо запрос отображения. Может кто-нибудь, пожалуйста, дайте мне знать, есть ли способ переслать весну-webflow после добавления параметров.

+0

- это переменные param1 и 2 'null'or, какова ваша ошибка? вы не используете веб-поток на этом этапе! just spring-mvc –

+0

Я прочитал это как пример того, как он это делает в SpringMVC, спрашивая, как сделать эквивалент в Web Flow? – dbreaux

+0

@Philipp: dbreaux is right Я прошу эквивалент Webflow для кода, написанного в SpringMVC – Vinay

ответ

1

Update:

К сожалению я получил ваш вопрос неправильно.

В WebFlow у вас есть view-states, у которых есть переход к следующему состоянию. Если вы хотите передать параметры, которые вы можете сделать это следующим образом:

flow.xml:

<view-state id="test" view="test.jsp> 
    <transition on="toTest2" to="test2" /> 
</view-state> 

<view-state id="test2" view="test2.jsp> 
    <on-render> 
     <evaluate expression="test2Delegate.doSomething(requestParameters.param2, requestParameters.param2)" 
    </on-render> 
</view-state> 

test.jsp:

<a href="${flowExecutionUrl}&_eventId=toTest2&param1=foo&param2=bar" /> 

Java:

@Component 
public class Test2Delegate { 

    public void doSomething(String param1, String param2) { 

     //doSomething 
    } 
} 

Я бы рекомендовать читать Spring Web Flow Reference Guide

+0

Привет, Филипп, как уже упоминалось выше, код, который я написал, находится в Spring-MVC, и это работает. Что я хочу знать, так это то же самое, что использовать spring-webflow. – Vinay

+0

Это все равно не решит мою проблему, поскольку я хотите, чтобы значения присутствовали в параметреMap. В основном параметры неизменяемы. Принимая пример ур, я хочу, чтобы в параметрах запроса были доступны параметры «param1» и «param2». – Vinay

+0

ahhhh okay ... я отредактировал свой ответ –

0

В XML потока добавить следующее:

<view-state id="viewname" view="flowRedirect:appName?#{flowScope.jobId} 

так, когда вы переходите к этой точке зрения государства это будет перенаправлять URL обратно на сервер с запросом PARAMS вы хотите. Но это ударит по сети, а затем снова сервер, я хочу, чтобы запрос оставался только на стороне сервера.

Смежные вопросы