h:outputLink没有为自链接页面生成完整的上下文路径

时间:2013-05-10 14:07:45

标签: jsf jsf-2

我们在jetty上运行了一个遗留的JSF应用程序。它的页面类似/foo/bar/mypage.xhtml,其中包含outputLink标记,如:<h:outputLink value="?param1=value1">Click</h:outputLink>。生成这些链接时没有任何上下文,因此单击时,浏览器会使用指定的参数正确链接到当前页面。

我们最近安装了Xebia的XForwardedFilter来修复在代理后面运行应用程序的问题。但是,启用它后,链接将由jsf与上下文生成(根据我的理解,这是正确的行为)。不幸的是,上下文在最后/之后不包含任何内容,因此当前页面不包含在链接中。对于上面的示例,链接变为/foo/bar/?param1=value1而不是所需的/foo/bar/mypage.jsf?param1=value1

解决方法是包含链接值的当前页面:<h:outputLink value="mypage.jsf?param1=value1">Click</h:outputLink>。问题是应用程序中有很多这些链接,其中一些是包含的,需要传递一个额外的参数来指示应该引用的页面。

有没有办法让outputLink生成完整的上下文?或者,如果我们可以完全禁用上下文生成,以便先前的行为发生,那也可以。

0 个答案:

没有答案