0

在一个 Struts 动作中,如果我返回一个重定向标志设置为 true 的 ActionForward,那么一切都会按预期工作,即请求最终到达所需的页面。但是,当我将重定向设置为 false 时,它​​会导致 404。需要注意的是,我不是直接重定向到 JSP(如 /WEB-INF/jsp/something.jsp)而是重定向到 URL(例如 items/search )。

它看起来像这样:

return new ActionForward("items/search/", true);   // Works ok

return new ActionForward("items/search/", false);   // Gives 404

有什么想法我可能做错了吗?

4

1 回答 1

2

return new ActionForward("items/search/", false);失败的原因很简单。

通过设置redirectfalse(您在 的第二个参数中所做的ActionForward),您实际上是在要求 Struts 检查您的逻辑名称(在您的情况下items/search/)与ActionMapping.

我很确定在您的 ( )struts-config.xml中没有<forward>映射items/search/,因此没有 HTTP 404

阅读ActionForward文档以了解其工作原理。

希望这可以帮助!

于 2011-04-06T23:10:52.220 回答