includeViewParams = true在模板化页面中不起作用

考虑这个模板:

            

这个使用它的页面(/pages/test.xhtml):

                      

页面的bean:

 @Named @RequestScoped public class PageBean implements Serializable { public String getFoo() { return foo; } public void setFoo(String foo) { this.foo = foo; } private String foo; } 

而这个豆子:

 @Named @ApplicationScoped public class Util implements Serializable { public String currentPageAction() { return FacesContext.getCurrentInstance().getViewRoot().getViewId() + "?faces-redirect=true&includeViewParams=true"; } } 

当我在浏览器中加载http://localhost:8080/faces/pages/test.xhtml?foo=bar并单击 ,URL将更改为http://localhost:8080/faces/pages/test.xhtml 。 也就是说,视图参数不包含在重定向URL中。

但是,当我重构页面使其不使用模板时,它的行为与预期的一样。 也就是说,视图参数包含在重定向URL中。

我知道在放入facelets模板时不会也不应该工作。 这不是这里发生的事情,所以这是一个不同的问题。 规范中没有任何内容表明无法做到这一点。 实际上,根据我的知识,没有其他方法可以创建一个带有视图参数的基于模板的页面。

我有一个类似的问题,我解决它定义“元数据”集元数据在f:view之后立即注入

      

的template.xhtml