0

我有一个 JSF2 应用程序,我想在浏览器中只显示每个页面的域名。例子:

http://www.example.com/index.jsfhttp://www.example.com

因此我这样配置 PrettyFaces:

<url-mapping id="index">
    <pattern value="/" />
    <view-id value="/index.jsf"/>
</url-mapping>

但随后,我收到 404 错误消息“请求的资源 (/index.jsf/) 不可用。”

如果我尝试使用“/test”作为模式,那么它适用于 www.example.com/test。

以下文件存在于 web-root 中:

index.xhtml
index.html

index.html 包含重定向

<meta http-equiv="Refresh" content="0; URL=index.jsf">

非常感谢。

PS:PrettyFaces 3.3.2、JSF 2、PrimeFaces 3.1.1

编辑:我成功了!我需要删除浏览器缓存。我不知道为什么......但它有帮助。无论如何,谢谢您的回答!

4

2 回答 2

1

我不知道 PrettyFaces 部分,但你也可以将FacesServlet映射从*.jsfto更改为*.xhtml然后使用<welcome-file>index.xhtml</welcome-file>并摆脱那个 hacky index.html。这样您就不需要摆弄虚拟 URL,并且您还可以从容器的内置欢迎文件工具中受益。

于 2012-03-02T16:16:48.107 回答
0

浏览器经常缓存 301 重定向,以便它们将来不需要联系旧地址。清除浏览器缓存是强制浏览器再次联系原始 URL 的唯一方法。

于 2012-03-05T05:51:05.910 回答