0

我一直在阅读一些帖子,说您可以执行以下操作:假设此条目在faces-config.xml

..
<from-view-id></from-view-id>
<navigation-case>
  <from-outcome>home</from-outcome>
  <to-view-id>/xxx/index.xhtml</to-view-id>
</navigation-case>
..

String动作实现中的this :

return "home?param=1&faces-redirect=true";

这对我不起作用。它给了我一个错误,说它不能匹配导航案例:

Unable to find matching navigation case with from-view-id '/xxx/yyy.xhtml' for action 'home?faces-redirect=true&param=1' with outcome 'home?faces-redirect=true&param=1

另一方面,如果我使用完整的视图名称,它就可以正常工作。这是一个错误还是我做错了什么?

4

1 回答 1

1

您正在混合隐式和显式导航。

使用显式导航,您的代码应该只返回一个结果。是否重定向应该在 XML 规则中编码,而不是在您从 bean 返回的结果中。

但据我所知,导航规则已经没有真正的用处了。只需删除它们并从您的 bean 中返回带有所需参数和重定向选项等的视图。当您有超过 10 个页面时,您将准备好在使用导航规则时拉出您的头发。(具有讽刺意味的是,创建导航规则是为了管理大量视图,但正是在大量视图中,它们变得完全无法管理)

于 2013-11-07T09:57:09.960 回答