2012-11-12 22 views
1

我使用struts2的長的URL。 我必須將我的系統重定向到長度超過3000個字符的URL。由於get方法中的url限制,url長度導致系統在IE中正常工作。 我試圖使用請求調度程序,但我認爲我的行爲命名空間有問題。request.redirect(),用於在Struts2&IE

我需要轉發來自動作1至2行動

動作1 動作名稱:basket.action 命名空間: 「/麥克風/喬丹」

行動2 操作名稱:soccer.action (有很多參數) 命名空間: 「/大衛/小貝」

我至今是

RequestDispatcher reqDispatcher = getRequest().getRequestDispatcher("/david/beckham/soccer.action"); 
reqDispatcher.forward(getRequest(), getResponse()); 

任何幫助appriciated。

+0

你爲什麼要在行動定義的? –

+0

是的,實際上第二個動作及其參數是在第一個動作中動態創建的。所以我不能使用xml。 – rematnarab

+1

您可以在結果類型中傳遞動態actionName。或者更好地寫一個自定義攔截器。 –

回答

0

Struts2 redirect to another action

<action name="login" class="..."> 
     <!-- Redirect to another namespace --> 
     <result type="redirectAction"> 
     <param name="actionName">dashboard</param> 
     <param name="namespace">/secure</param> 
     <param name="param1">${param1}</param> 
     <param name="param2">${param2}</param> 
     </result> 
    </action> 
+0

感謝您的答案,但我需要以編程方式進行。不通過使用xml – rematnarab

+0

更新我的答案以設置動態參數。 –