2013-08-26 34 views
0

當前我的應用程序邏輯使用請求參數來執行邏輯。在我的新需求中,我也可以得到一個請求,只有一個數據庫密鑰(數據庫將有值)作爲請求參數。我可以從數據庫中獲取數據,但問題是現在我的現有邏輯/流程無法工作,因爲它預計參數映射中的數據。在Spring 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我不知道如何複製相同的行爲,因爲它的工作原理上,而不是狀態請求映射。任何人都可以讓我知道,如果有一種方法在添加參數後在spring-webflow中轉發。

+0

是變量param1和2'null'或者你的錯誤是什麼?您目前沒有使用webflow!只是spring-mvc –

+0

我把這個作爲他/她如何在SpringMVC中做它的例子,詢問如何做Web Flow中的等價物? – dbreaux

+0

@Philipp:dbreaux是對的我要求在SpringMVC – Vinay

回答

1

更新:

對不起,我得到了你的問題是錯誤的。

在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

這仍然不會解決我的問題,因爲我想要參數映射中存在值。基本上參數是不可變的。以你的例子,我希望「參數1」和「參數2」在請求參數中可用。 – Vinay

+0

ahhhh好吧...我編輯我的回答 –

0

在流動XML補充一點:

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

所以當你轉換到該視圖狀態將網址與請求參數你想重定向回服務器。但是,這將再次打擊網頁和服務器,我希望請求只停留在服務器端