JSF会使用params进行发布和重定向

时间:2013-11-05 13:22:12

标签: jsf-2.2

我一直在阅读一些帖子,说你可以做以下事情: 假设此条目在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

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

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

1 个答案:

答案 0 :(得分:1)

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

通过显式导航,您的代码应该仅返回结果。是否重定向应该在XML规则中编码,而不是在从bean返回的结果中编码。

但据我所知,导航规则已不再适用。只需删除它们并返回包含所需参数的视图,并从bean中重定向选项等。当您有超过10页的页面时,您将准备好在使用导航规则时拔掉头发。 (具有讽刺意味的是,创建导航规则是为了管理大量的视图,但确实有大量的视图,它们变得完全无法管理)