2013-02-26 54 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