Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 JSF中的欢迎页面_Jsf 2 - Fatal编程技术网

Jsf 2 JSF中的欢迎页面

Jsf 2 JSF中的欢迎页面,jsf-2,Jsf 2,如何使用JSF页面作为欢迎文件?FacesServlet被映射到*.jsf上,被设置为index.xhtml。但是,它没有显示JSF组件。我试图将设置为index.jsf,但这导致了HTTP404错误 我正在使用Tomcat 6.0和JSF 2.1。只需将

如何使用JSF页面作为欢迎文件?
FacesServlet
被映射到
*.jsf
上,
被设置为
index.xhtml
。但是,它没有显示JSF组件。我试图将
设置为
index.jsf
,但这导致了HTTP404错误

我正在使用Tomcat 6.0和JSF 2.1。

只需将
条目重命名为
index.JSF
,并在
index.xhtml
旁边创建一个空的
index.JSF
文件,以欺骗容器该文件实际上存在


或者,您也可以完全摆脱
.jsf
扩展,一直使用
.xhtml
。这可以通过将
FacesServlet
*.jsf
更改为
*.xhtml

将其添加到欢迎文件列表中来实现,如下所示:

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

index.jsf
确实有效,但你需要Tomcat7

另一种同样适用于Tomcat 6的方法是添加一个名为index.jsp的文件,该文件包含以下内容:

<jsp:forward page="/index.jsf"/>


只需将index.xhtml的条目重命名为index.jsf即可。如果我重命名该条目,我将无法通过上下文路径(/testjsf)访问欢迎页面,而只能通过/testjsf/index.jsf1。通过创建空index.jsf愚弄容器是可行的,但这真的是解决问题的好方法吗?2.更改为*.xhtml将不允许我使用任何我想要的扩展。1)这是最简单的方法,是的。2) 我不明白为什么这是个问题。它隐藏了实现细节,还防止最终用户在手动将浏览器地址栏中的URL从.JSF更改为.xhtml时看到JSF源代码。我在Wildfly 8.2.0.Final中尝试了这一点,但它似乎不起作用。当我启动应用程序时,它会尝试打开index.jsf。有什么想法吗?你最初的问题很难回答。我澄清了这一点。我还删除了关于隐式导航的第二个问题,你应该把它作为另一个问题来问。