检查 <is-xml> 和 <page-encoding> 选项的 JSP 配置的行为更改

此规则将标记 <is-xml> <page-encoding> JSP 配置选项 <jsp-property-group> web.xml 文件。

jsp-config-property 示例:
<jsp-config>
<jsp-property-group>
<display-name>JSPSampleConfig</display-name>
<url-pattern>*.jsp</url-pattern>
<page-encoding>ISO-8859-1</page-encoding>
<is-xml>false</is-xml>
<include-prelude>prelude.jspf</include-prelude>
</jsp-property-group>
</jsp-config>

已在这些配置选项如何应用到所包括的 JSP 文件方面,阐明了 JSP 规范。 从 WebSphere Application Server V8开始, <is-xml> <page-encoding> 配置选项仅适用于那些与 URL 模式匹配的 JSP 文件,而不适用于包含的 JSP 文件,除非它们还与 URL 模式匹配。

在前发行版中,如果一个 JSP(例如 prelude 或 coda)包括在另一个与属性组匹配的 JSP 中,那么原始属性组设置也适用于所包括的文件。 JSP 属性组中定义的大多数属性适用于整个转换单元。 即,通过 URL 模式来匹配的所请求 JSP 文件,及其通过 include 伪指令来包含的所有文件。 例外情况 <page-encoding> And the <is-xml> 属性,分别应用于由其 URL 模式匹配的每个 JSP 文件。

配置选项会进行标记,这样,您就可以修正配置或者还原为先前行为。 要解决此问题,请创建另一个 <jsp-property-group> 以匹配要在其中应用配置的包含文件。

示例修正:
<jsp-config>
<jsp-property-group>
<display-name>JSPSampleConfig</display-name>
<url-pattern>*.jsp</url-pattern>
<page-encoding>ISO-8859-1</page-encoding>
<is-xml>false</is-xml>
<include-prelude>prelude.jspf</include-prelude>
</jsp-property-group>
<jsp-property-group>
<display-name>JSPFragments</display-name>
<url-pattern>*.jspf</url-pattern>
<page-encoding>ISO-8859-1</page-encoding>
<is-xml>false</is-xml>
</jsp-property-group>
</jsp-config>

Web 容器定制属性 com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude 或 JSP 属性 reusePropertyGroupConfigOnInclude 可用于还原为旧行为。 设置为 true 来还原行为。 此属性的缺省值为 false 这将允许新的规范定义行为。

有关更多信息,请参阅: