栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通过设置默认主页 在JSF项目中

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过设置默认主页  在JSF项目中

首先,

<welcome-file>
并不代表“默认主页”的路径。它代表包含您希望担任了作为默认的文件时,文件夹中的物理文件的文件名 的文件夹
一样
/
/foo/
/foo/bar/
要求等。

因此,在JSF 2.x风格中,基本上是:

<welcome-file-list>    <welcome-file>index.xhtml</welcome-file></welcome-file-list>

这样,如果最终用户请求

/
并且您有
/index.xhtml
,则将为您提供服务。或者,如果最终用户请求,
/foo
并且您有
/foo/index.xhtml
,则将为它提供服务,等等。如果没有这样的文件,则将返回404错误。

现在,你似乎映射了

FacesServlet
一个前缀
<url-pattern>
/faces/*
。这是JSF 1.0 /
1.1时代以来的遗留物,实际上最近不建议这样做。也许您正在阅读针对JSF 1.x的过时教程,或者本来是为JSF
1.x编写的,维护不佳的教程,但随后针对JSF 2.x进行了不经意的更新,而不是从头开始重写。

为了使XHTML页面中的JSF组件运行并生成一些HTML输出,

FacesServlet
必须在请求XHTML页面时调用。当您像这样请求XHTML页面时
/index.xhtml
,当
FacesServlet
映射到时
/faces/*
,它将不会被调用。然后,浏览器将检索原始的未解析的JSF源代码,而不是生成的HTML输出。您可以通过右键单击Web
浏览器中的 _查看源代码_来查看它。您应该这样请求页面,
/faces/index.xhtml
以便
FacesServlet
可以运行并产生浏览器可以理解并呈现的HTML输出。

这与欢迎文件一起使用效果不佳。这完全解释了为什么当

index.xhtml
用作欢迎文件时会得到一个“干净的白色”(空白)页面的原因(某些劣等的Web浏览器,例如IE,由于包含原始XHTML源代码的响应中缺少/错误的内容类型,会令人困惑地提示下载对话框)。该
FacesServlet
是根本就没有被调用。只需摆脱老式的
/faces/*
URL模式,而改用JSF
2.x
*.xhtml
模式的URL模式即可。

<servlet-mapping>    <servlet-name>facesServlet</servlet-name>    <url-pattern>*.xhtml</url-pattern></servlet-mapping>

通过这种方式,欢迎文件应该可以工作,您可以通过直接请求JSF的物理URL来打开JSF页面,而不会浪费虚拟URL。在JSF
1.x中这是不可能的,因为它将使

FacesServlet
运行在无限循环中进行自我调用,并导致堆栈溢出。


至于这些警告,它们 无关紧要, 但意义可追溯。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/405990.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号