IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

Afficher un document svg


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Par défaut Afficher un document svg
    Bonjour,
    Je voudrais afficher un document svg. Mon fichier Struts-config contient la section suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <action    path="/map"
                   type="com.foo.presentation.action.MapAction"
                   name="mapForm"
                   scope="request"
                   input="/mainmenu.do">
                   <forward   name="displaySvg" path="/carte.svg"/>
    </action>
    où carte.svg est le fichier que je souhaite afficher.
    Mais j'obtiens une page blanche.
    Quelqu'un peut-il me dire comment faire ?
    Merci.

  2. #2
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Bonjour,
    Je voudrais afficher un document svg. Mon fichier Struts-config contient la section suivante :
    [CODE name="struts-config.xml"]
    <action path="/map" type="com.foo.presentation.action.MapAction"
    name="mapForm"
    scope="request"
    input="/mainmenu.do">
    <forward name="displaySvg" path="/carte.svg"/>
    </action>
    [/CODE]
    où carte.svg est le fichier que je souhaite afficher.
    Mais j'obtiens une page blanche.
    Quelqu'un peut-il me dire comment faire ?
    Merci.
    (Tiles fonctionne aussi avec les fichiers SVG et avec n'importe quoi qui sort des JSPs d'ailleurs)
    Pour ma part j' ai résolu le problème de la façon suivante :
    (struts-config.xml)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <forward name="displaySvg" path="/carte.jsp"/>
    puis tu crés le fichier carte.jsp comme ceci :
    (carte.jsp)
    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
     
    <%@ page contentType="image/svg+xml" %>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    <?xml-stylesheet type="text/css" href="<html:rewrite page='/css/style.css' />" ?>
    <script xlink:href="<html:rewrite page='/js/prototype.js' />" />
    <title id="test-title">${titre}</title> <!-- ne pas oublier de nourrir les beans dans l action -->
    	<a xlink:href="<html:rewrite page='/index.jsp' />">
    		<rect x="0" y="0" width="20" height="20" fill="black" stroke="none"/>
    		<text x="2" y="17" font-size="20" stroke="none" fill="white">H</text>
    	</a>
    	<a xlink:href="<html:rewrite page='/next.jsp' />">
    		<rect x="480" y="0" width="20" height="20" fill="black" stroke="none"/>
    		<text x="482" y="17" font-size="20" stroke="none" fill="white">&gt;</text>
    	</a>
    	<g id="affiche">
    		<text id="msg" x="22" y="17" >${mess}</text>
    		<text x="100" y="190" class="ltext"> ${nb_genes} a eliminer</text> 
    		<text x="200" y="190" class="ltext"> new_set ${new_set}</text>
    	</g>
    		<c:forEach var="iii" begin="0" end="${nb_genes}">
    			<rect x="100" y="${196+iii*20}" width="90" height="16" class="test" />
    			<text x="100" y="${210 + iii * 20}" class="ltext">Gene ${iii}</text>
    		</c:forEach>
    	<rect id="test-frame" x="1" y="1" width="${width-1}" height="${height-1}" fill="none" stroke="#000000"/>
    Voilà, tu as un example de génération de SVG avec l'utilisation de la JSTL.
    On peut arriver à faire des choses sympas avec .

    PPDL.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Par défaut
    Je vais essayer. Merci beaucoup.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Par défaut
    Juste une remarque : dans la méthode proposée, je ne peux pas parcourir le fichier svg avec Batik pour y ajouter des éléments... Ce qui m'intéressait dans le fait d'afficher un fichier svg pré-établi était la possibilité de le parcourir et le modifier avant de l'afficher :
    - j'ai mon fichier svg existant ;
    - dans la classe action, je le modifie (ajout, suppression d'éléments) ;
    - je l'affiche.
    Qu'en penses-tu ? Est-ce possible ? Y-a-t'il une autre solution ?
    Encore merci.

  5. #5
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Juste une remarque : dans la méthode proposée, je ne peux pas parcourir le fichier svg avec Batik pour y ajouter des éléments... Ce qui m'intéressait dans le fait d'afficher un fichier svg pré-établi était la possibilité de le parcourir et le modifier avant de l'afficher :
    - j'ai mon fichier svg existant ;
    - dans la classe action, je le modifie (ajout, suppression d'éléments) ;
    - je l'affiche.
    Qu'en penses-tu ? Est-ce possible ? Y-a-t'il une autre solution ?
    Encore merci.
    Dans ce cas ta JSP peut être invoqué par une action ou directement : dans le second cas tu dois alors te débrouiller pour que lors d'un appel direct de la jsp, sans passer par une action, l'affichage soit cohérent (tester avec la jstl la présence des beans pour avoir un fichier svg valide en leur absence).

    J'espère que mon intervention est compréhensible, n'hésites pas à me le dire sinon.

    PPDL.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Par défaut
    Désolée mais je ne comprends pas. Pourquoi est-ce que je ne peux pas appeler directement ma page svg, comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <forward   name="displaySvg" path="/carte.svg"/>
    Concernant ta suggestion, si c'est pour moi le seul moyen, pourrais-tu me donner un exemple, parce que là je ne vois pas comment faire.
    Merci beaucoup pour ton aide.

  7. #7
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Sinon, une question, pourquoi utiliser Batik (Squiggle) pour naviguer et pas Firefox & Cie ?

    PPDL.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Par défaut
    Je n'utilise pas Batik pour naviguer mais la librairie pour coder : pour l'instant je créé à partir de rien un fichier svg que l'utilisateur peut afficher ou enregistrer localement. Cette méthode me pose problème car alors, le fichier svg devient local (à l'utilisateur) et je n'ai plus aucun controle (du serveur). Je ne peux par exemple pas y insérer une image qui se trouve sur le DD du serveur car elle n'apparaitrait pas si l'utilisateur ne l'a pas localement.
    Donc, je voudrais à la place travailler sur un fichier svg existant (sur le serveur) et permettre de l'afficher (et non de l'"envoyer" chez le client). Je pensais, du coup, que je pouvais afficher ce fichier svg directement avec Struts et je suis surprise de ne pas pouvoir le faire. Ce que je devrais pouvoir faire en revanche, c'est l'insérer dans une page html ou jsp et ça devrait marcher...
    Voilà ! Je voulais jusqte savoir s'il était possible d'afficher un fichier svg directement avec Struts...

  9. #9
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Je comprends !!!!
    je créé à partir de rien un fichier svg que l'utilisateur peut afficher ou enregistrer localement.
    A partir d'un navigateur www ou d'une application cliente ?
    Voilà ! Je voulais jusqte savoir s'il était possible d'afficher un fichier svg directement avec Struts.
    Oui oui c'est possible !!! je l'ai fait. Mais mon fichier SVG existe sous la forme
    d'un template JSP, qui est rempli par une action struts.

    Veux tu une application de démonstration ?

    PPDL.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Par défaut
    A partir d'un navigateur www ou d'une application cliente ?
    d'un navigateur

    Veux tu une application de démonstration ?
    Volontier.

    Merci.

  11. #11
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Le temps de picorer dans mes applis et j'en fait une petite archive war.

    PPDL.

  12. #12
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Les 2 archives (application .war et sources) sont trop grosses pour le forum.
    Peux tu me donner ton email (en message privé stp) pour que je puisse te faire parvenir les archives ?

    PPDL.

  13. #13
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Les archives refroidissent
    Ou alors le problème est résolu peut-être ?

    PPDL ?

  14. #14
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    Au lieu d'une archive complete de cette petit demo, voici une version de l'archive sans les librairies et les classes de la webapp.

    Bon usage.

    PPDL.

    PS : cela convient jqfa9 ?
    EDIT
    PS2 : Au cas ou le fichier SVG (tout ou partie) n'est pas synthétisable en une JSP, il y a toujours moyen de mettre un tag <c:out ...> et de sortir
    MonObjetSVG.toString() dans la variable correspondante.

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Par défaut
    Merci !
    Je viens de regarder rapidement et ce qui m'ennuie c'est que dans mon cas, le fichier svg est très gros (genre au moins 1000 lignes) et, surtout, je souhaite pouvoir le "parser" puis le modifier avec la librairie Batik et je ne pense pas que je puisse le faire dans l'exemple que tu me donnes.
    Mais je vais mieux regarder...
    En tout cas, merci infiniment pour ton aide.
    J.

  16. #16
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    genre au moins 1000 lignes
    Ce n'est pas un très gros fichier. Pour une application de type SIG on peut avoir
    des fichiers beaucoup plus gros et Struts s'en sort très bien.
    souhaite pouvoir le "parser" puis le modifier avec la librairie Batik
    Je pensais que tu créais ton fichier à l'aide de Batik justement , cf :
    pour l'instant je créé à partir de rien un fichier svg que l'utilisateur peut afficher ou enregistrer localement.
    Si tu parses le fichier pour l'importer, le traiter et le ré-afficher, Struts + JSP sera peut utile pour afficher le tout.

    Mais l'utilisation de Struts + JSP pour une webapp de type SIG, avec postgresql+postgis comme backend est tout a fait viable, tant que les SVG sont générés par l'application.

    Sinon, utilise seuleument des servlets pour ce type de traitements.

    Voilà.

    PPDL.

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Par défaut
    Merci, petitpasdelune, pour ces informations.
    J.

  18. #18
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    souhaite pouvoir le "parser" puis le modifier avec la librairie Batik
    PS2 : Au cas ou le fichier SVG (tout ou partie) n'est pas synthétisable en une JSP, il y a toujours moyen de mettre un tag <c:out ...> et de sortir
    MonObjetSVG.toString() dans la variable correspondante.
    En fait dès que ton fichier SVG existe en tant qu'objet DOM, rien ne t'empèche de le stocker dans la session pour des modification ultérieures via des formulaires HTML simples.
    Si le service est du style:
    [code]
    client(upload fichier SVG) -> Struts[Batik(transformation en un objet Java)->Modification de l'objet(filtres ou actions)->Affichage]
    [code]
    Tiles n'est pas utile et tu peux utiliser l'astuce de mon PS2 pour afficher ton SVG

    PPDL.

Discussions similaires

  1. Réponses: 17
    Dernier message: 01/10/2007, 12h05
  2. [DOM] Afficher un document
    Par Invité dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 07/09/2007, 14h49
  3. La case "Afficher mes documents récents" a disparu
    Par Angelico dans le forum Windows XP
    Réponses: 2
    Dernier message: 25/08/2007, 18h22
  4. Afficher une image SVG à partir du Java
    Par choumane dans le forum Multimédia
    Réponses: 3
    Dernier message: 03/12/2006, 20h52
  5. [FLASH MX] Afficher un document
    Par Adren dans le forum Flash
    Réponses: 5
    Dernier message: 28/06/2006, 00h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo