企业应用程序中的相对URL

时间:2014-01-09 08:40:40

标签: jsf-2

如何使用JSF输出相对URL?每当我添加一个相对链接时,JSF就会添加上下文根本身,这对我来说似乎有些奇怪。通常在HTML中,相对链接是相对于域的?那么如何在我的应用程序中输出相对链接到另一个上下文根?

因此,如果我在上下文根A中,我想写一个指向/B/myPage.xhtml的链接

我使用Myfaces 2.1.9

2 个答案:

答案 0 :(得分:1)

来自primefaces menu showcase

<p:menu>  
    ...

    <p:submenu label="Navigations">  
        <p:menuitem value="External" url="http://www.primefaces.org" icon="ui-icon-home"/>  
        <p:menuitem value="Internal" outcome="/mobile/index" icon="ui-icon-star"/>  
    </p:submenu>  
</p:menu>  

所以你可以使用半外部的

<p:menuitem value="External" url="#{request.scheme}://#{request.serverName}:#{request.serverPort}/B/page.html" icon="ui-icon-home"/>  

答案 1 :(得分:0)

我通过实现自定义ViewHandler解决了这个问题,我重写了getResourceURL。在那里,我检查URL是否已经有一个上下文路径,如果是,我不调用原始的超级方法(添加上下文路径)