Struts 1,重定向工作正常,但转发给出404

时间:2011-04-05 22:17:17

标签: java redirect struts forward

在Struts操作中,如果我返回一个重定向标志设置为true的ActionForward,则一切都按预期工作,即请求最终在所需页面上。但是,当我将重定向设置为false时,它会产生404.重要的是要注意,我不是直接重定向到JSP(如在/WEB-INF/jsp/something.jsp中)而是重定向到URL(例如项目/搜索) )。

看起来像这样:

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

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

任何想法我可能做错了什么?

1 个答案:

答案 0 :(得分:2)

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

通过将redirect设置为false(您在ActionForward的第二个参数中执行的操作),您实际上要求Struts检查您的逻辑名称(在您的情况下{{1} } {}对items/search/中的映射。

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

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

希望这有帮助!