comment utiliser des classes java dans le rapport xml
Bonjour,
J'ai un rapport avec des caractères spéciaux
Quand je génère la chaine (String) jrxml elle comporte des caractères spéciaux et j'ai une erreur à la ligne 2 (voir la suite)
(dans jrxml, j'ai par exemple un static Text "<text><![CDATA[" + field.getFldText() + "]]></text>" avec des caractères spéciaux dans field.getFldText())
ligne 1 - InputStream jrxmlInputStream = new ByteArrayInputStream(jrxml.toString().getBytes());
ligne 2 - JasperDesign jasperDesign = JRXmlLoader.load(jrxmlInputStream);
Donc j'essaye d'échapper les caractères spéciaux (échappement xml) et d'utiliser une classe java dans le jrxml pour de-échapper (de-échappement xml) les chaines de caractères
<import value=\"org.apache.commons.lang.StringEscapeUtils\" /> sous le tag jasperReport
Et pour le static Text
<text><![CDATA[StringEscapeUtils.unescapeXml(").append(StringEscapeUtils.escapeXml(field.getFldText())).append(")]]></text>
Mais il semble que
org.apache.commons.lang.StringEscapeUtils.unescapeXml() n'est pas utilisée comme classe java mais comme une String brute (dans ma String jrxml, je peux voir ci qui suit: <text><![CDATA[StringEscapeUtils.unescapeXml(Do NOT use the following symbols: \ (backward slash), é, Ä, ß, µ (non-English language symbols), °C (superscripts), ¾ (fractions), symbols < and > and quotation marks)]]></text>
J'en conclut que je n'utilise pas de la bonne façon les classes java dans le rapport. Est-ce que vous avez une idée comment faire ?
Merci d'avance pour vos réponses