在 web.xml
文件中有几个 JavaServer Faces 的 <context-param>
,如 facelets.REFRESH_PERIOD
、facelets.DEVELOPMENT
和 facelets.SKIP_COMMENTS
等等。我该在哪里找到所有这些参数的完整列表?
在 web.xml
文件中有几个 JavaServer Faces 的 <context-param>
,如 facelets.REFRESH_PERIOD
、facelets.DEVELOPMENT
和 facelets.SKIP_COMMENTS
等等。我该在哪里找到所有这些参数的完整列表?
facelets.
开头的内容不是JSF上下文参数,而是Facelets 1.x上下文参数。在JSF 1.x时代之前,Facelets没有作为JSF的一部分集成。但是,自从JSF 2.0以来,Facelets已作为JSF的一部分集成,取代了传统的JSP作为默认的视图技术,并且大多数Facelets 1.x上下文参数被重新映射到JSF 2.x上下文参数。javax.faces.
开头。它们在JSF规范的第11.1.3章中列出。以下摘录摘自JSF 2.0规范:
Servlet容器支持应用程序配置参数,可以通过在Web应用程序部署描述符中包含<context-param>
元素进行自定义。所有JSF实现都必须支持以下应用程序配置参数名称:
javax.faces.CONFIG_FILES
-- 逗号分隔的上下文相关资源路径列表,JSF实现将在加载名为“/WEB-INF/faces-config.xml
”(如果存在此类资源)之前查找应用程序配置资源(请参见第11.4.4节“应用程序配置资源格式”)。如果列表中存在“/WEB-INF/faces-config.xml
”,则必须忽略它。
javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE
-- 如果设置了此参数,并且对表示其值的String
调用toLowerCase().equals("true")
返回true
,则Application.createConverter()
必须保证所有javax.faces.convert.DateTimeConverter
实例的时区默认值必须等于TimeZone.getDefault()
而不是“GMT
”。
javax.faces.DEFAULT_SUFFIX
-- 允许Web应用程序为包含JSF内容的JSP页面定义替代后缀。有关完整规范,请参阅符号常量ViewHandler.DEFAULT_SUFFIX_PARAM_NAME
的javadocs。
javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER
-- 如果设置了此参数,并且对表示其值的String
调用toLowerCase().equals("true")
返回true
,则默认的ViewHandler
必须按照本规范最新版中指定的方式进行处理。任何在处理使用JavaServer Faces视图声明语言编写的页面时实施并在默认ViewHandler
中执行的行为都不能由运行时执行。
javax.faces.FACELETS_LIBRARIES
-- 如果设置了此参数,则运行时必须将其解释为以分号(;)分隔的路径列表,以“/”(不带引号)开头。运行时必须将列表中的每个条目解释为相对于Web应用程序根目录的路径,并将在该路径处找到的文件解释为与“XML应用程序配置资源文件的XML模式定义”中声明的面部标记库并根据“Facelet标记库机制”的第10.3.2节公开其中的标记。运行时还必须将facelets.LIBRARIES
参数名称视为此参数名称的别名,以便与现有的facelets标记库向后兼容。
javax.faces.FACELETS_BUFFER_SIZE
-- 生成ResponseWriter
时要设置在响应上的缓冲区大小。默认情况下,该值为-1,这将不会在响应上分配缓冲区大小。如果您正在使用开发模式,则应增加此值,以确保在生成错误时不会部分呈现响应。运行时还必须将facelets.BUFFER_SIZE
参数名称视为此参数名称的别名,以便与现有的facelets标记库向后兼容。
javax.faces.DECORATORS
-- javax.faces.view.facelets.TagDecorator
类型的类名称列表,由分号(;)分隔,其中每个类都具有无参数构造函数。当第一个请求Facelets VDL视图的ViewHandler
命中时,将加载这些装饰器以进行页面编译。运行时还必须将facelets.DECORATORS
参数名称视为此参数名称的别名,以便与现有的facelets标记库向后兼容。
javax.faces.FACELETS_REFRESH_PERIOD
-- 请求页面时,编译器应检查更改的间隔时间(以秒为单位)。如果不希望编译器在编译页面后检查更改,则使用值-1。设置低的刷新周期有助于在运行中的应用程序中编辑页面。运行时还必须将facelets.REFRESH_PERIOD
参数名称视为此参数名称的如您可以在最后一段中读到的那样,JSF实现也可以拥有自己的一组上下文参数。对于Mojarra而言,这些参数以com.sun.faces.
开头,在此博客中列出:可用的Mojarra上下文参数是什么?对于MyFaces而言,这些参数以org.apache.myfaces.
开头,在其官方网站上也列出了这些参数:MyFaces文档 - Web上下文参数。