Bonjour,
J'utilise Cobra pour parser un flux HTML et ensuite afficher les résultats dans le HTMLPanel en appliquant une feuille de style.
Ci-dessous extrait du code qui crée un document DOM qui va me servir à générer mon code HTML à afficher.
Si je définis le style directement dans le fichier HTML, pas de problème.
En revanche, si j'essaie de faire référence à une feuille de style externe (style.css), le style n'est pas appliqué.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Document dores = builder.newDocument(); Element racine = dores.createElement("html"); Element head = dores.createElement("head"); Element body = dores.createElement("body"); Element style = dores.createElement("style"); style.setAttribute("type", "text/css"); Text styleDefined = dores.createTextNode("td {background-color:#339; color:#fff;}"); style.appendChild(styleDefined); head.appendChild(style); racine.appendChild(head); // ... suite de la création du code HTML de sortie racine.appendChild(body); dores.appendChild(racine); DOMSerializer serializer = new DOMSerializer(); StringWriter out = new StringWriter(); serializer.serialize(dores, out); String res = out.toString(); panel.setHtml(res, "", rcontext); // C'est ok, le style est appliqué
Mon fichier style.css est placé dans le même répertoire que ma classe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Element racine = dores.createElement("html"); Element head = dores.createElement("head"); Element body = dores.createElement("body"); Element link = dores.createElement("link"); link.setAttribute("href", "/style.css"); link.setAttribute("media", "all"); link.setAttribute("rel", "stylesheet"); link.setAttribute("type", "text/css"); head.appendChild(link); // reste du code identique...
Où est l'erreur dans mon code ?
Partager