检查 <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>错误</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>错误</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>错误</is-xml>
</jsp-property-group>
</jsp-config>

网络容器自定义属性 com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude 或 JSP 属性 reusePropertyGroupConfigOnInclude 可用于恢复旧的行为。 设置为 true 来恢复该行为。 该属性的默认值为 false 可以实现新的规范定义行为。

有关更多信息,请参阅: