2013-02-26 88 views
1

我目前正在將一個wepapp從Struts遷移到Struts 2,並且遇到一些困難。Action直接遷移到Struts 2

我有一些ActionRedirect沒有額外的參數給它,我不知道如何遷移它,也許只是返回一個字符串是有效的?

例如,我有這樣的:

return new ActionRedirect(mapping.getFindforward("failed"); 

是否有效做到這一點呢?

return "failed"; 

而當我有參數如何遷移它?自2天以來,我正在爲此工作。

+0

我們在Struts2.like成功,錯誤等行爲類中有常量。你可以使用像Action.ERROR ...等 – PSR 2013-02-26 13:26:00

+0

你明白嗎 – PSR 2013-02-26 13:27:51

+0

我知道,但它是ActionRedirect給我的問題 – BlackMario 2013-02-26 13:43:51

回答

0

在Struts2中,如果您創建的結果類型爲"redirect",如果要重定向到特定的URL或"redirectAction"如果您要創建重定向t重定向到配置中的已知動作。這些結果可以在Struts1中進行配置,也可以在全局上進行配置。不同的是,你不需要在框架中完成mapping。如果返回"failed",則框架將查找名爲"failed"的結果的配置,如果找不到此類結果,則會引發異常。

0

在struts.xml中類,你可以指定

<result type="redirect"  
name="failed">redirect action name</result> 

在動作類,你可以使用

回報 「falure」

或Action類任何常量存在

+0

好吧,我也看到了這一點,但在struts 1中,所有這個過程都是在動作java類中進行的,所以我希望這可以在struts 2中實現...... – BlackMario 2013-02-26 13:46:21

+1

@PSR如果你想指定結果類型應該是「redirectAction」只有重定向動作名稱。使用「重定向」,您需要指定完整的URL。 – 2013-02-27 04:36:04