JasperException: Attribute value is quoted with which must be escaped when used within the value


Muitos desenvolvedores ao tentar efetuar o deploy de aplicações web em tomcat’s a partir da versão 5.5.27 estão tendo uma dor de cabeça terrível com um erro que não ocorria nas versões anteriores,  erro é:

JasperException: Attribute value is quoted with which must be escaped when used within the value “o atributo da página onde está dando o erro ”  is quoted with ” which must be escaped when used within the value>org.apache.jasper.JasperException:  “endereço da página com a linha onde está ocorrendo o erro”

Este erro ocorre com estas versões do apache com páginas onde o JSP não segue a nova especificação do JSP 2.0

“According to JSP 2.0 specification (chapter 1.7 page 72,73)”

A especificação diz que o atributo value das tags não podem mais ser definidas com “(aspas) dentro de ” (aspas) e por isso o erro JasperException ocorre.

Em resumo a nova especificação diz que esta declaração deve ser feita de outra maneira conforme o exemplo abaixo:

This code is illegal:
<mytags:tag value="<%= "hi!" %>" />

Instead the correct sentence would be:
<mytags:tag value='<%= "hi!" %>' />
<mytags:tag value="<%= \"hi!\" %>" />
<mytags:tag value='<%= \"name\" %>' />

Questão: Mas e agora? Terei que mudar todas as minhas tags que estão utilizando esta sintaxe?

Resposta: Não.

Como: Desativar nas configurações do tomcat a validação desta sintaxe, conforme o exemplo abaixo.

Para contornar o erro JasperException discutido nesta sessão basta acrescentar a linha abaixo no arquivo catalina.properties.

org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false

Referência: http://tomcat.apache.org/tomcat-5.5-doc/config/systemprops.html



4 comentários em “JasperException: Attribute value is quoted with which must be escaped when used within the value

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

13 Minutos De Um DBA

Você é o dono de todas as informações

ANTES QUE ELES CRESÇAM

Logo seu anjinho vira um moção. Leia agora.

Think Different

Shifting organisations to a better place

Matthew Skelton

Consultant in Operability and Continuous Delivery at Conflux

Dataloop.IO Blog

A new SaaS monitoring tool for DevOps & Operations

Labs

Spotify's Engineering and Technology Blog

%d blogueiros gostam disto: