-
generer etat pdf
bonjour tout le monde,
je suis débutant GWT et je cherche à créer un service RPC qui permet de générer ou renvoyer etat pdf à partir d'une base de données mysql coté serveur au client tout en utilisant JasperReport
si quelqu'un a une idée svp :cry:
et merci d'avance :)
-
Dans ta demande, il y a deux besoins :
A) Générer des PDF à partir d'une base de données avec JasperReport
B) Intégrer cette génération avec GWT.
Le point A) est donc indépendant de GWT et d'autres forums sont probablement plus adapté ?
JasperReport ? Je ne connais que de nom... Quoi qu'il en soit, la démarche doit être de fournir des paramètres au code serveur qui va fabriquer le pdf et après ?
- Soit la partie serveur enregistre le flux "pdf" dans un fichier sur le serveur et modifie l'ihm cliente (GWT pour le coup) pour afficher un lien html vers ce fichier pdf.
- Soit la partie serveur envoie directement le flux "pdf" en réponse au client qui ne le comprendra que si c'est une requête synchrone (pas ajax) et qui affichera le fichier pdf dans la fenêtre courante (totale ou iframe)
Le point B) ne soulève pas de difficulté particulière une fois que tu as clarifié ce que tu souhaites faire : 1 ou 2 ?
- Le 1, tu peux utiliser le RPC de GWT, tu envoie un objet à ton service qui contient les paramètres saisi dans l'interface utilisateur et tu reçois en retour le lien que tu affiches où tu souhaite dans l'interface utilisateur.
- Le 2 t'empêche d'utiliser le RPC de GWT et ressemble plus à du développement web classique : une iframe (car je suppose que tu ne veux pas que ta fenêtre courante soit remplacée par le pdf) doit recevoir le flux pdf retourné par le serveur, c'est donc à l'appel synchrone que l'iframe doit être indiquée comme target. Avec une surcouche comme extgwt, il y a un panel qui encapsule des iframe; il "suffit" de modifier leur url ("celle qui appellera une classique servlet de génération du pdf)
-
Generation pdf GWT
D'abord merci pour votre reponses et votre gentillesse
ce qui concerne la 1er premiere reponse (point B) pour le lien envoyé par le service RPC , est ce que c'est un chemin simple vers le fichier (ex : C:/....) ou bien il faut recuperer le context de l'application gwt avec GWT.getModuleBaseURL() + le chemin relatif ?
pour ma 2eme question , je veux stocker les fichiers dans le dossier public generer par le plugin cypal-Studio dans eclipse alors comment recuperer l'URL ou bien le lien vers ces fichiers genérés ?
et merci infiniment :D
-
Le fichier pdf est généré par le serveur, ce qui signifie :
- que le serveur doit écrire ce fichier sur le disque dur du serveur. Ce peut être avec un chemin absolu sur le serveur (C:/tonApplication/generate sur un serveur windows par exemple)
- ce dossier ou sera ecris ce fichier devra être accessible par le serveur http (iis ou apache), c'est à dire que l'url "http://serverHost/generate" doit pointer sur ce dossier.
GWT.getModuleBaseURL() te permet effectivement de déterminer l'url où ont été téléchargé depuis le navigateur client les fichiers javascripts de ton application GWT. Ensuite, en relatif, tu peux accéder au fichier que tu souhaites (tant qu'il n'y a pas de restrictions au niveau du serveur web)
Notes cependant que cette méthode "GWT.getModuleBaseURL()" dans le code client (javascript) te permet de connaître le début de l'url du serveur et si ce dernier t'envoie le nom exact du fichier, tu as tout ce qu'il faut côté client pour avoir une url complète.
Côté serveur, tu ne peux pas utiliser cette méthode, il te faut donc trouver le bon dossier, ce qui peut être un chemin absolu (si tu le connais) ou un chemin relatif par rapport à une classe java.
Le dossier "public" des ressources "ne sert" qu'en développement, une fois déployé, c'est un peu différent.
Je te conseille d'utiliser la version 1.6 de gwt car c'est plus simple à déployer, ça suit les conventions des war et donc les ressources seront copiés dans le dossier war. Tu peux créer un sous dossier "generate" par exemple.
-
Generation pdf GWT
Merci pour votre reponse
d'apres ce que j'ai compris j'ai creer un service RPC GenererPDF et dedans j'ai appelé la classe java qui generer le pdf dans un dossier qui s'appelle etat qui se trouve dans le dossier de l'application gwt et precisement dans le package client generer par cypal studio
dans ce cas mon url retourner par le service dans le client (javascript) ca sera normalement GWT.getModuleBaseUrl()+"etat" dans mon cas ?
ou bien je peux mettre directement dans l'interface client(gwt-ext) window.open("GWT.getModuleBaseUrl()+"etat","","")
et merci encors pour une autre fois