2011-05-11 60 views
2

我将旧项目从JSF 1.2迁移到JSF 2.0。 这些项目是基于JSP的。我可以关闭Jsf 2.0中的隐式导航吗?

我在迁移后遇到隐式导航问题。 返回值的操作方法(比方说,供内部使用)会导致JSF尝试导航到不存在的页面。

例如,返回"Error"会使浏览器尝试访问/Error.jsp,这将导致404

我想,对于这些项目,关闭隐式导航的方法。 这可能吗?

谢谢!

回答

1

不,这是不可能的。然而,它计划用于JSF 2.2,另请参阅JSF spec issue 937

这是什么,你试图(ab?)使用导航结果的内部使用?异常处理?您可能想要抛出一个正常的异常,并按通常的方式处理。

+0

:-)我只是想运行一个无效的支持bean方法。据我所知,动作方法签名必须是一个'String'返回值。 对于这个问题,“Error”例子本来可以是“成功”的。我想要一个运行的方法,做一些事情,然后应用程序继续而不导航。 如果我想避免导航,我应该只返回null吗? – Ben 2011-05-11 20:24:06

+2

是的,如果你不想导航,肯定你需要返回'null'。或者,如果你根本不想浏览,只需声明方法'void'即可。 – BalusC 2011-05-11 20:26:43

+0

太好了。谢谢。只是想确保我没有做一些会在稍后导致问题的事情。 – Ben 2011-05-12 06:52:33