Verificar uma mudança de comportamento na configuração JSP das opções <is-xml> e <page-encoding>

Esta regra sinaliza as opções de configuração JSP <is-xml> e <page-encoding> localizadas no <jsp-property-group> do arquivo web.xml.

Exemplo de 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>

A especificação JSP foi esclarecida com relação a como essas opções de configuração se aplicam aos arquivos JSP incluídos. A partir do WebSphere Application Server V8, as opções de configuração <is-xml> e <page-encoding> se aplicam apenas aos arquivos JSP que correspondem ao padrão da URL e não aos arquivos JSP incluídos, a menos que eles também correspondam ao padrão da URL.

Nas versões anteriores, se um JSP fosse incluído (como um prelude ou coda) por outro JSP que correspondesse a um property-group, então as configurações originais de property-group se aplicavam ao arquivo incluído também. A maioria das propriedades definidas em um grupo de propriedades JSP se aplicam a uma unidade de conversão inteira. Ou seja, o arquivo JSP solicitado que fosse correspondido por seu padrão de URL e todos os arquivos que inclua via diretiva include. As exceções são as propriedades <page-encoding> e <is-xml>, que aplicam separadamente a cada arquivo JSP correspondido por seu padrão de URL.

A opção de configuração é sinalizada para que seja possível corrigir a configuração ou reverter de volta para o comportamento anterior. Para corrigir o problema, crie outro <jsp-property-group> para corresponder os arquivos incluídos nos quais deseja a configuração aplicada.

Exemplo de correção:
<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>

A propriedade customizada do contêiner da web com.ibm.wsspi.jsp.reusepropertygroupconfigoninclude ou o atributo JSP reusePropertyGroupConfigOnInclude pode ser usado para reverter de volta para o antigo comportamento. Configure para true para reverter o comportamento. O padrão para esta propriedade é false que permite o novo comportamento definido pela especificação.

Para obter informações adicionais, consulte: