Bonjour !

je souhaite utiliser l'exellent outil "iText" pour éditer des pdf dans mon application javaEE.

grâce au livre "iText in action" et ses tutoriels, je m'initie petit à petit à cet outil.

MAIS :

Je n'arrive pas à récupérer le contenu de variables pour les intégrer dans mon pdf.
Encore une fois, un exemple vaut mieux qu'un long discours pour comprendre mon soucis.

Pour bien comprendre ma démarche :
1) dans mon fichier "web.xml" j'ai installé ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<servlet>
    <description/>
    <display-name>Billet</display-name>
    <servlet-name>Billet</servlet-name>
    <servlet-class>logic.IVenteCatalogManager</servlet-class>
    </servlet><servlet-mapping>
    <servlet-name>Billet</servlet-name>
    <url-pattern>/ivente/e-billet.pdf</url-pattern>
</servlet-mapping>
2) déclaration de mes variables et code de mon application (partiel) :

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
@ManagedBean
@SessionScoped
 
public class IVenteCatalogManager extends HttpServlet implements Serializable {
 
 
    // pour le bouton demo
 
    private String demoText;
    String demoDisplay;
    Boolean demo;
 
public String vendeur;
 
public String InBox(String entree) {
       vendeur=entree;
       return "";
   }
 
public String OutBox() {       
       String render = vendeur;
       return render;
   }
.......
        demoDisplay=" - Démonstration";
        InBox(demoDisplay);
.......
 
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
 
        response.setContentType("application/pdf");
 
        try {
            // step 1
            Document document = new Document();
            // step 2
            PdfWriter.getInstance(document, response.getOutputStream());
            // step 3
            document.open();
            // stap 4
            //String essai=routines.OutBox();
            String essai=this.OutBox();
            document.add(new Paragraph("rezaBus"));
            document.add(new Paragraph(displayNomExploit));
            document.add(new Paragraph(displayLibExploit));
            document.add(new Paragraph(essai+" - "+demoDisplay));
            document.add(new Paragraph(new Date().toString()));
            // step 5
            document.close();
        } catch (DocumentException de) {
            throw new IOException(de.getMessage());
        }
    }
il s'avère que le résultat dans l'affichage de mon pdf est soit "" soit null pour les variables "essai" et "demoDisplay"
La seule manière d'arriver à un affichage du contenu des variables est de rajouter "static" en argument de déclaration de variable. Mais dans ce cas là avec "static", les différentes sessions des utilisateurs de mon applications se confondent, car les variables deviennent globales au niveau de l'application.
J'ai essayé d'autres arguments en suivant les multiples explications trouvé sur ce forum, mais cela ne change rien à cette situation.
Ce que je trouve curieux aussi, c'est que NetBeans ne signale pas d'erreur en écrivant le code, ce qui signifie que les variables sont bien reconnues, et pourtant, le contenu ne passe pas

Quelqu'un a-t-il une idée ?

Merci par avance !