所有与JSF相关的web.xml上下文参数名称和值的概述

36

web.xml 文件中有几个 JavaServer Faces 的 <context-param>,如 facelets.REFRESH_PERIODfacelets.DEVELOPMENTfacelets.SKIP_COMMENTS 等等。我该在哪里找到所有这些参数的完整列表?


一个快速的谷歌搜索会出现https://facelets.java.net/nonav/docs/dev/docbook.html#config-webapp-init。 - Joeri Hendrickx
首先,我没有在该列表中看到 javax.faces.PROJECT_STAGE。其次 - 它似乎不是关于 jas 1.1 和 1.2 的页面? - Cherry
1
你的例子是针对facelet params而不是faces params。在2.0版本中,facelets已经成为faces的一部分,并且参数已被重命名。请参见此处以获取2.0版本的列表:http://docs.jboss.org/jbossas/6/JSF_Guide/en-US/html/jsf.reference.html - Joeri Hendrickx
1个回答

84
首先,以facelets.开头的内容不是JSF上下文参数,而是Facelets 1.x上下文参数。在JSF 1.x时代之前,Facelets没有作为JSF的一部分集成。但是,自从JSF 2.0以来,Facelets已作为JSF的一部分集成,取代了传统的JSP作为默认的视图技术,并且大多数Facelets 1.x上下文参数被重新映射到JSF 2.x上下文参数。
真正的JSF上下文参数名称以javax.faces.开头。它们在JSF规范的第11.1.3章中列出。以下摘录摘自JSF 2.0规范:

11.1.3 应用程序配置参数

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上下文参数


Mojarra的链接已经失效。这里提供两个涵盖Mojarra的链接:http://www-01.ibm.com/support/knowledgecenter/SSAW57_8.0.0/com.ibm.websphere.nd.doc/info/ae/ae/rweb_jsfengine.html,http://docs.jboss.org/jbossas/6/JSF_Guide/en-US/html/jsf.reference.html - Stephan Rauh
2
@StephanRauh:我已将它迁移到我的博客上:http://balusc.omnifaces.org/2015/09/what-mojarra-context-parameters-are.html - BalusC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接