默认情况下,当我们创建 Web 应用程序时faces-config.xml
不会自动创建。我们必须手动创建他,据我所知,faces-config.xml
必须严格位于WEB-INF
.
所以,我的问题:
我必须faces-config.xml
在web.xml
创建后WEB-INF
或其他文件夹中注册还是自动注册。即JSF“知道”什么是faces-config.xml
并且可以在所有项目的文件夹中找到他。
希望,我问了正确的问题。;)
默认情况下,当我们创建 Web 应用程序时faces-config.xml
不会自动创建。我们必须手动创建他,据我所知,faces-config.xml
必须严格位于WEB-INF
.
所以,我的问题:
我必须faces-config.xml
在web.xml
创建后WEB-INF
或其他文件夹中注册还是自动注册。即JSF“知道”什么是faces-config.xml
并且可以在所有项目的文件夹中找到他。
希望,我问了正确的问题。;)
取自FacesServlet
文档:
如果未在 web.xml 或 web-fragment.xml 中显式映射并且满足以下一个或多个条件,则必须自动映射此 servlet。
在 WEB-INF 中找到 faces-config.xml 文件。
faces-config.xml 文件位于应用程序类路径中 jar 的 META-INF 目录中。
以 .faces-config.xml 结尾的文件名位于应用程序类路径中 jar 的 META-INF 目录中。
javax.faces.CONFIG_FILES 上下文参数在 web.xml 或 web-fragment.xml 中声明。
传递给 ServletContainerInitializer 实现的 onStartup() 方法的类 Set 不为空。
您可以将配置文件放在 webapp 的其他位置,但您需要记住以下事实:
WEB-INF
/META-INF
文件夹下;您需要将以下条目添加到您的 web.xml:
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>
WEB-INF/path/to/faces-config.xml
</param-value>
</context-param>
否则,如果在某些预定义位置找到 faces-config.xml,则会自动加载。