2013-03-18 85 views
0

我定义了一个欢迎页面,在web.xmlJSF设置欢迎页面

<welcome-file-list> 
    <welcome-file>templates/Template.jsf</welcome-file> 
    </welcome-file-list> 

遵循和项目的上下文根是TestProject。第一次当我加载项目的URL是localhost:8080/TestProject。我在主页上有一个名为“HOME”的按钮,点击它应该从任何其他页面重定向到主页。现在问题是点击这个按钮,它重定向,但url变成localhost:8080/TestProject/templates/Template.jsf。如何克服这一点?

的按钮的HTML代码是follws

首页

回答

1

它看起来像你误会的<welcome-file>意义。它并不代表主页的URL。它代表文件的唯一文件名(不包括任何物理文件夹!但允许一个虚拟后缀映射模式,如果您使用该文件,如/faces/*),该文件应该由容器提供,如//foo/,或者/bar/baz/等容器会再检查该文件夹包含指定的欢迎文件,然后将请求转发给它,否则显示404

我强烈建议保持简单:

<welcome-file>index.jsf</welcome-file> 

并且在根文件夹中具有index.xhtml,并且如果必要还有其他文件夹。然后,要打开没有指定文件名的上下文根,只需使用

<a href="#{request.contextPath}/">Home</a>