JSF 引擎配置参数
在 WebSphere® Application Server 中,您可以配置 JavaServer Faces (JSF) 引擎配置参数,以便在生产服务器环境和开发环境中实现最佳性能。
JSF 引擎参数区分大小写。如果为参数指定的值由两个或更多以空格分隔的字组成,那么必须对此值添加引号。
MyFaces 的 JSF 选项
JSF 参数名 | 描述 | 缺省值 |
---|---|---|
org.apache.myfaces.PRETTY_HTML | 如果此值为 true,那么将对所显示的 HTML 代码进行格式化以便于阅读。将写入其他不会影响 HTML 代码的行分隔符和空格。 | true |
org.apache.myfaces.ALLOW_JAVASCRIPT | 此参数向 MyFaces 表明所呈现的 HTML 输出中是否允许 JavaScript 代码。如果允许 JavaScript,那么 command_link 锚具有用于提交相应格式的 JavaScript 代码。如果不允许 JavaScript,那么会将状态保存信息和嵌套的参数添加为 URL 参数。 | true |
org.apache.myfaces.DETECT_JAVASCRIPT | false | |
org.apache.myfaces.AUTO_SCROLL | 如果为 true,那么将呈现 JavaScript 函数,该函数可以针对每一个请求复原以前的垂直滚动。如果页面中有很长的列表,并且不希望浏览器页面在您触发同一页面上的链接或按钮操作时跳至页面开头,那么此功能很方便。 | false |
org.apache.myfaces.ADD_RESOURCE_CLASS | org.apache.myfaces.renderkit.html.util.DefaultAddResource | |
org.apache.myfaces.CHECK_EXTENSIONS_FILTER | 此参数将检查在 Web 应用程序需要的情况下,是否存在正确配置的扩展过滤器。 | true |
org.apache.myfaces.COMPRESS_STATE_IN_SESSION | 将此选项设为 true 以压缩已序列化的状态,然后再将其写入到会话。如果将此选项设为 false,那么不会压缩状态。仅当状态保存方法设为 server,且 org.apache.myfaces.SERIALIZE_STATE_IN_SESSION 设为 true 时,此选项才适用。 | true |
org.apache.myfaces.DISABLE_FLASH_SCOPE | 将此上下文参数设置为 true 以禁用 cookie 中生成但未发送的 Flash Scope。 | false |
org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION | 定义存储在会话中的最新视图数。仅当状态保存方法设为 server 时,此选项才适用。 | 20 |
org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS | true | |
org.apache.myfaces.SERIALIZE_STATE_IN_SESSION | 将此选项设为 true 以将状态序列化为字节流,然后再将其写入到会话。如果将此选项设为 false,那么不会将状态序列化为字节流。仅当状态保存方法设为 server 时,此选项才适用。 | true |
org.apache.myfaces.STRICT_JSF_2_CC_EL_RESOLVER | 确保通过源 EL 表达式调用 getType() 时,与链接 EL 表达式一起使用的组件可使用添加了 composite: 属性的元数据信息。将此属性设置为 true 将禁用此函数。 | false |
org.apache.el.parser.COERCE_TO_ZERO |
允许 WebSphere Application Server 用来强制空字符串整数值为 0 值的表达式语言
(EL),或者不允许强制为 0 值并且不保留空字符串整数值。缺省值为
true,该值允许空字符串整数值强制为 0 值。
要点: 为了避免将 MyFaces 应用程序中的空值强制为 0 值,应该设置该应用程序的
web.xml 中的以下上下文参数,以确保阻止所有可能的空值实例强制为 0。
使用管理控制台设置
org.apache.el.parser.COERCE_TO_ZERO 属性。
|
true |
org.apache.myfaces.DEBUG_PHASE_LISTENER | 用于在 Development Project Stage 中启用 DebugPhaseListener。 | true |
com.ibm.ws.jsf.disablealternatefacesconfigsearch |
用于仅对设置了此上下文参数的 Web 应用程序禁用 META-INF/*.faces-config.xml 的 MyFaces 搜索。如果已设置上下文参数和 Web 容器定制属性,那么上下文参数占优。 |
false |
常规 JSF 选项
JSF 参数名 | 描述 | 缺省值 |
---|---|---|
javax.faces.STATE_SAVING_METHOD | 指定在其中保存状态信息的位置。有效值为“server”(保存在 HttpSession 中)和“client”(保存为表单的隐藏字段)。 | server |
javax.faces.CONFIG_FILES | 使用此参数来指定上下文相关资源路径的逗号分隔列表,JSF 实现会在这些路径中查找应用程序配置资源,然后再装入配置资源 /WEB-INF/facesconfig.xml(如果资源存在)。 | 不适用 |
javax.faces.DEFAULT_SUFFIX | 指定包含 JSF 组件的扩展映射资源的缺省后缀。 | .jsp |
javax.faces.LIFECYCLE_ID | 使用此参数来配置备用生命周期标识。 | 不适用 |
com.ibm.ws.jsf.JSF_IMPL_CHECK | 指定重新启动应用程序时必须重新编译 Web 模块中的 JSP 文件(因为已更改所使用 JSF 的实现)。在重新启动应用程序之后,下次访问此模块的 JSP 文件时,会针对管理控制台中所指定 JSF 的所选实现来重新编译 JSP 文件。对 JSP 文件所进行的后续调用不会导致重新编译。此选项的缺省设置为 false。请将此选项用于开发环境,而非生产环境。 | 不适用 |
在 MyFaces 中具有等价行为的 Sun RI 上下文参数
SUN RI 参数名 | 描述 | RI 缺省值 | MyFaces 等价项 | MyFaces 缺省值 |
---|---|---|---|---|
com.sun.faces.numberOfViewsInSession | 定义存储在会话中的最大序列化视图数。与服务器状态保存配合使用。 | 15 | org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION | 20 |
com.sun.faces.compressViewState | 如果为 true,将在对视图进行序列化之后、base64 编码之前对其进行压缩。与客户机状态保存配合使用。 从 1.2_09 开始,如果 com.sun.faces.serializeServerState 设置为 true(当使用此选项时,这对会话中的状态大小有很大影响,且 CPU 使用率更高。),那么此选项还会影响服务器端状态保存。 | true | org.apache.myfaces.COMPRESS_STATE_IN_CLIENT(适用于客户机端状态保存)或 org.apache.myfaces.COMPRESS_STATE_IN_SESSION(适用于服务器端状态客户机) | false(适用于客户机端状态保存)和 true(适用于服务器端状态保存) |
com.sun.faces.validateXml | 如果为 true,JSF 将验证配置文件。 | false | org.apache.myfaces.VALIDATE | false |
com.sun.faces.injectionProvider | 此参数用于指定实现 InjectionProvider 的类。 | 不适用 | 注入提供程序由 WebSphere Application Server 运行时提供 | 不适用 |
com.sun.faces.serializationProvider | 此参数用于指定实现 SerializationProvider SPI 的类。此实现表示 JSF 实现用于启用备用序列化实现的挂钩。 | 不适用 | org.apache.myfaces.SERIAL_FACTORY - 类必须实现 org.apache.myfaces.shared_impl.util.serial.SerialFactory SPI 而不是 com.sun.faces.spi.SerializationProvider | 不适用 |
com.sun.faces.enabledJSStyleHiding | 如果为 true,那么将显示 HTML ResponseWriter 实现所呈现的内联 JavaScript,以便隐藏较早版本浏览器实现中的脚本。 | false | org.apache.myfaces.WRAP_SCRIPT_CONTENT_WITH_XML_COMMENT_TAG | true |
com.sun.faces.serializeServerState | 如果已启用,那么将在组件状态(并非树)存储在会话中之前对其进行序列化。对于具有视图状态对模型更改敏感问题的应用程序,可能需要这样做。 | false | org.apache.myfaces.SERIALIZE_STATE_IN_SESSION | true |