0

我在 web.xml 中有如下定义的欢迎页面

<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 代码如下

4

1 回答 1

1

看来您误解了 的含义<welcome-file>。它无意代表主页的 URL。它旨在表示文件的唯一文件名(不包括任何物理文件夹!但允许虚拟后缀映射模式以防您使用它/faces/*),当请求文件夹时应由容器提供/,或/foo/, 或/bar/baz/, 等等。然后容器将检查文件夹是否包含指定的欢迎文件,然后将请求转发给它,否则显示 404。

我强烈建议保持简单:

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

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

<a href="#{request.contextPath}/">Home</a>
于 2013-03-18T11:48:10.877 回答