Rechercher un changement de comportement dans la configuration JSP des options <is-xml> et <page-encoding>

Cette règle marque les options de configuration JSP <is-xml> et <page-encoding> trouvées dans l'élément <jsp-property-group> du fichier web.xml.

Exemple d'élément 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>

La spécification JSP a été éclaircie, notamment en ce qui concerne la façon dont ces options de configuration s'appliquent aux fichiers JSP inclus. A partir de WebSphere Application Server version 8, les options de configuration <is-xml> et <page-encoding> ne s'appliquent qu'aux fichiers JSP qui correspondent au masque d'URL et ne s'appliquent pas aux fichiers JSP inclus sauf s'ils correspondent également au masque d'URL.

Dans les éditions précédentes, si un fichier JSP était inclus (sous forme de prélude ou de coda) par un autre fichier JSP correspondant à un élément property-group, les paramètres property-group d'origine étaient appliqués au fichier inclus. La plupart des propriétés définies dans un groupe de propriétés JSP s'appliquent à l'intégralité de l'unité de conversion. En d'autres termes, cela signifie que le fichier JSP demandé est mis en correspondance avec son masque d'URL, ainsi que tous les fichiers qu'il inclut via la directive include. Les propriétés <page-encoding> et <is-xml> sont des exceptions : en effet, elles s'appliquent séparément à chaque fichier JSP mis en correspondance par le masque d'URL.

L'option de configuration est marquée pour que vous puissiez corriger la configuration ou revenir au comportement précédent. Pour résoudre le problème, créez un autre élément <jsp-property-group> afin de mettre en correspondance les fichiers inclus auxquels vous voulez appliquer la configuration.

Exemple de correctif :
<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>

La propriété personnalisée de conteneur Web com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude ou l'attribut JSP reusePropertyGroupConfigOnInclude peuvent être utilisés pour revenir à l'ancien comportement. Associez l'un d'entre eux à la valeur true pour revenir au comportement précédent. La valeur par défaut de cette propriété est false et permet l'application du nouveau comportement défini dans la spécification.

Pour plus d'informations, voir :