我在web.xml中有一个欢迎页面如下定义
<welcome-file-list>
<welcome-file>templates/Template.jsf</welcome-file>
</welcome-file-list>
,项目的上下文根是TestProject。我第一次加载项目时,url是localhost:8080 / TestProject。我在主页上有一个名为“HOME”的按钮,点击该按钮应该从任何其他页面重定向到主页。现在问题是单击此按钮,它重定向但网址变为localhost:8080 / TestProject / templates / Template.jsf。如何实现这个目标?
按钮的html代码如下:
主页
答案 0 :(得分:1)
看起来你误解了<welcome-file>
的含义。它不是要表示主页的URL。它旨在表示文件的唯一文件名(不包括任何物理文件夹!但允许使用虚拟后缀映射模式,如果你使用它的/faces/*
),当文件夹是容器时应由容器提供已请求/
,/foo/
或/bar/baz/
等。然后容器将检查文件夹是否包含指定的欢迎文件,然后将请求转发给它,否则显示404
我强烈建议保持简单:
<welcome-file>index.jsf</welcome-file>
并在根文件夹中有一个index.xhtml
,如果需要还有其他文件夹。然后,要打开没有指定文件名的上下文根,只需使用
<a href="#{request.contextPath}/">Home</a>