JavaServer 页面特定的 Web 容器定制属性

您可以配置名称/值数据对,其中名称是属性键,而值是可用于设置内部系统配置属性的字符串值。可以通过定义新属性来对管理控制台中未提供的设置进行配置。

com.ibm.ws.jsp.getparameterreturnemptystring

使用此定制属性可以帮助迁移 V5.1 应用程序。

如果 JSP 文件包含未在该文件中设置的操作,那么 JSP 引擎将返回空值。在 V5.1 中,如果 JSP 文件包含未在该文件中设置的操作,那么 JSP 引擎会返回空字符串。如果您需要应用程序继续返回空字符串,请将此属性添加到 JSP 设置中并将其设置为 true。此属性设置为 true 时,对 jsp:getProperty 的调用所返回的值为空字符串,而不是空值。

Name
com.ibm.ws.jsp.getparameterreturnemptystring
布尔值

com.ibm.ws.jsp.jdksourcelevel

使用此属性可以通过管理控制台设置 JDK 源代码级别。

可以对不同级别的 JDK 配置 JSP 引擎参数。但是,设置 JSP 参数要求您每个 Web 模块的 Web 扩展文件中设置 JSP 属性 jdksourcelevel。可以使用 com.ibm.ws.jsp.jdk.jdksourcelevel 定制属性将 JSP 属性设置为全局使用 Web 容器定制属性。如果也在 Web 扩展文件中定义了此特性,那么在 Web 扩展文件中定义的属性将取代适用于该特定应用程序的定制属性。此定制属性不区分大小写。

缺省值为 17。

Name
com.ibm.ws.jsp.jdksourcelevel
13、14、15、16、17 或 18

com.ibm.wsspi.jsp.allowjspoutputelementmismatch

前发行版中的 CTS 需求不适用于产品,因此 JSP 容器支持 jsp:output 元素中属性的多个实例。在当前发行版中,CTS 一致性要求 JSP 容器严格强制执行关于 jsp:output 元素中属性的多个实例的规则。 可以使用 com.ibm.wsspi.jsp.allowjspoutputelementmismatch 定制属性放宽规则的强制执行,以实现与较早版本的兼容性。

Name
com.ibm.wsspi.jsp.allowjspoutputelementmismatch
布尔值

com.ibm.ws.jstl.allowLenientDateParsing

某些应用程序包含用于解析日期和时间的 JSTL fmt:parseDate 标记。例如:
<fmt:parseDate value="20070311 02:00:00 AM" 
var="myTestDate" 
type="date" 
pattern="yyyyMMdd HH:mm:ss a" /> 
如果要解析的日期和时间是夏令时间,那么将出现下列异常:
java.text.ParseException: Unparseable date: "20070311 02:00:00 AM" 
at java.text.DateFormat.parse(DateFormat.java:349) at 
org.apache.taglibs.standard.tag.common.fmt.ParseDateSupport.doEn dTag(ParseDateSupport.java:178) 
at com.ibm._jsp._testDate._jspx_meth_fmt_parseDate_0(_jstlDate.java :123)
at com.ibm._jsp._testDate._jspService(_jstlDate.java:86) ... 28 more  

如果要允许在特定应用程序中使用 parseDate 标记时对日期进行更多容错解析,请将 com.ibm.ws.jstl.allowLenientDateParsing 属性作为上下文参数添加至该应用程序的 web.xml 文件并将此参数设置为 true

以下是如何在 web.xml 文件中将此属性指定为上下文参数的示例:

<context-param>
<param-name>com.ibm.ws.jstl.allowLenientDateParsing</param-name>
<param-value>true</param-value>
</context-param>
避免故障 避免故障: 由于必须对特定应用程序设置此属性,那么必须将其指定为上下文参数。如果指定为定制属性,那么此属性将被忽略。gotcha

com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition

CTS 一致性要求,必须先出现对前缀进行定义的标记库伪指令,然后才能在定制标记中使用该前缀。在前发行版中,此规则不是强制执行的,因为 CTS 需求不是必需的。但是,可以使用 com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition 定制属性放宽规则的强制执行,以实现与较早版本的兼容性。

Name
com.ibm.wsspi.jsp.allowtaglibprefixusebeforedefinition
布尔值

com.ibm.wsspi.jsp.allowtaglibprefixredefinition

CTS 一致性要求,如果已在 JSP 中使用不同的 URI 来定义标记库前缀,那么产品必须生成转换错误。在前发行版中,此规则不是强制执行的,因为 CTS 需求不是必需的。但是,可以使用 com.ibm.wsspi.jsp.allowtaglibprefixredefinition 定制属性放宽规则的强制执行,以实现与较早版本的兼容性。

Name
com.ibm.wsspi.jsp.allowtaglibprefixredefinition
布尔值

com.ibm.wsspi.jsp.allowunmatchedendtag

使用此定制属性可以帮助迁移 V5.1 应用程序。

如果结束标记不正确终止,那么将创建转换异常。在 V5.1 产品中,会忽略结束标记的不正确终止。如果要从 V5.1 迁移包含不正确终止的结束标记的应用程序,那么可以将此定制属性添加到 Web 容器设置中,并且如果不希望结束标记不正确地终止时发出转换异常,请将其设置为 true

此属性设置为 true 时,将对服务器中的所有应用程序启用该功能。如果要对特定应用程序启用此功能,请在该特定应用程序的扩展文件中指定 JSP 属性 allowUnmatchedEndTag。

Name
com.ibm.wsspi.jsp.allowunmatchedendtag
布尔值

com.ibm.wsspi.jsp.evalquotedandescapedexpression

使用此属性可以编译包含表达式的函数。已修改 JSP 转换代码以便在确定是要计算表达式还是将其视为文字串时,正确地处理转义字符和引号。要在所有 Web 应用程序中全局应用此行为,请将下列“名称/值”对添加为 Web 容器定制属性。

Name
com.ibm.wsspi.jsp.evalquotedandescapedexpression
布尔值

要对单个应用程序启用此新行为,您还必须将 JSP 属性 evalquotedandescapedexpression 添加到失败应用程序的 ibm-web-ext.xmiibm-web-ext.xml 文件中,并将值设置为 true

以下示例代码显示了 XMI 格式的属性:
&ltjspAttributes xmi:id="JSPAttribute_1" name="evalquotedandescapedexpression" value="true"/>
避免故障 避免故障: 属性标识值必须唯一。gotcha
以下示例代码显示了 ibm-web-ext.xml 文件中的属性:
<?xml version="1.0" encoding="UTF-8"?>
<web-ext
	xmlns="http://websphere.ibm.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"
	version="1.0">
	<jsp-attribute name="evalquotedandescapedexpression" value="true" />

	<reload-interval value="3"/>
	<auto-encode-requests value="true"/>
	<auto-encode-responses value="true"/>
	<enable-directory-browsing value="true"/>
	<enable-file-serving value="true"/>
	<pre-compile-jsps value="true"/>
	<enable-reloading value="true"/>
	<enable-serving-servlets-by-class-name value="true" />	

</web-ext>
最佳实践 最佳实践: 使用 Rational® Application Developer 等组装工具可以修改 IBM® 扩展和绑定文件。可以使用 IBM Bindings and Extensions Conversion Tool for Multi-Platforms 将模块中的扩展和绑定文件从 XMI 转换为 XML。bprac
支持的配置 支持的配置: 对于 IBM 扩展文件和绑定文件,根据您使用的是 Java EE 5 之前的应用程序或模块还是 Java EE 5 或之后的应用程序或模块,.xmi 或 .xml 文件扩展名有所不同。IBM 扩展文件或绑定文件将命名为 ibm-*-ext.xmi 或 ibm-*-bnd.xmi,其中 * 是扩展文件或绑定文件的类型,例如,app、application、ejb-jar 或 web。存在下列条件:
  • 对于使用 V5 之前的 Java EE 版本的应用程序或模块,文件扩展名必须是 .xmi。
  • 对于使用 Java EE 5 或更高版本的应用程序或模块,文件扩展名必须是 .xml。如果应用程序或模块中包含 .xmi 文件,那么产品将忽略这些 .xmi 文件。

然而,Java EE 5 或更高版本的模块可以在包含 Java EE 5 之前的文件并使用 .xmi 文件扩展名的应用程序中存在。

ibm-webservices-ext.xmiibm-webservices-bnd.xmiibm-webservicesclient-bnd.xmiibm-webservicesclient-ext.xmiibm-portlet-ext.xmi 文件继续使用 .xmi 文件扩展名。

sptcfg

com.ibm.wsspi.jsp.modifyPageContextVariable

在已编译标记文件的转换阶段期间,JSP 容器会隐式地将 pageContext 变量用于 PageContext 对象。将 pageContext 变量用作标记文件中的隐式变量名称,不符合 JSP 规范。

对于在其标记文件中使用局部 pageContext 变量的应用程序,如果发生编译错误,请将 com.ibm.wsspi.jsp.modifyPageContextVariable 定制属性设置为 true,以在标记文件的生成 Java 代码中取消使用 pageContext 变量名称。

Name
com.ibm.wsspi.jsp.modifyPageContextVariable
布尔值

com.ibm.wsspi.jsp.recompilejsponrestart

此属性将强制运行时编译的 JSP 文件在每次重新启动应用程序时重新进行编译。如果切换底层 JSF 实现,那么此属性很有用。最好是在开发环境上使用此属性。

Name
com.ibm.wsspi.jsp.recompilejsponrestart
布尔值

com.ibm.wsspi.jsp.usecdatatrim

使用此定制属性可以帮助迁移 V5.1 应用程序。

如果 JSP 文件在不同的行上包括嵌套标记,那么额外的行将出现在为 JSP 文件的这些部分生成的 Java 代码中。之所以这些额外的行将添加到所生成的 Java 代码中,是因为创建 CDATA 部分前未删除文本。

如果使用双引号 (") 将所有行附加到一行中,或者在创建 CDATA 部分前,您使用此属性启用对文本的删除操作,那么可以移除这些额外的行。在创建 CDATA 部分前删除文本将移除所生成的 Java 代码中多余的空格。

此属性添加至 Web 容器设置并设置为 true 时,将对服务器中的所有应用程序启用该功能。如果要对特定应用程序启用此功能,请在该特定应用程序的扩展文件中指定 JSP 属性 useCDataTrim。

Name
com.ibm.wsspi.jsp.usecdatatrim
布尔值

com.ibm.wsspi.jsp.usescriptvardupinit

为 JSP 文件生成的代码假定在 If-Else 条件中将相同的标记变量声明两次或多次,即使变量具有 page 范围也是如此。定制属性 com.ibm.wsspi.jsp.usescriptvardupinit 用于对特定服务器上部署的所有应用程序启用此功能。如果只有特定应用程序需要此兼容性功能,请启用 JSP 属性 useScriptVarDupInit。如果同时设置了这两个选项,那么 JSP 特性优先于 Web 容器定制属性。

Name
com.ibm.wsspi.jsp.usescriptvardupinit
布尔值

com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude

对于转换用户 对于转换用户: JSP 属性组中定义的大部分属性适用于整个转换单元,例如其 URL 模式所匹配的请求 JSP 文件以及该文件使用 include 伪指令包含的所有文件。例外包括页面编码和 is-xml 属性,这些属性分别适用于其 URL 模式所匹配的每个 JSP 文件。要将此行为还原为 WebSphere Application Server V9.0 之前的设置,请将此定制属性设置为 true 以对整个转换单元应用这两个属性值。trns
Name
com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude
false

com.ibm.wsspi.jsp.usestringcast

使用此定制属性可以帮助迁移 V5.1 应用程序。

调用 request.getAttribute 方法时,为 JSP 文件生成的 Java 源代码不会针对字符串类型的返回类型添加“implicit”强制类型转换。 如果 JSP 文件包含其相对路径未求值为字符串的资源,那么包含会失败,因为包含只接受字符串作为资源的相对路径。此行为与 V5.1 中的行为有所不同。

如果要迁移包含 request.getAttribute 方法的 V5.1 应用程序,那么可以将此属性添加至 Web 容器设置并将其设置为 true。此属性设置为 true 时,JSP 编译器会在执行包含操作前以显式方式将“String cast”添加至资源的相对路径。

此属性添加至 Web 容器设置并设置为 true 时,将对服务器中的所有应用程序启用该功能。如果要启用此功能,请在特定应用程序的扩展文件中指定 JSP 属性 useStringCast。

Name
com.ibm.wsspi.jsp.usestringcast
布尔值

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rweb_jsp_custom_props
文件名:rweb_jsp_custom_props.html