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 :

Ouverture d'un lien dans une nouvelle fenêtre à chaque clic malgré le target


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 62
    Points : 55
    Points
    55
    Par défaut Ouverture d'un lien dans une nouvelle fenêtre à chaque clic malgré le target
    Bonjour,

    J'ai un problème avec Struts qui est le suivant : une application qui possède deux liens vers une même application (mais une config différente). Lorsque l'on clique sur l'un des liens, cela ouvre une nouvelle fenêtre. Au final, trois clics sur chaque liens feront six fenêtres.

    Ce que nous voudrions faire c'est qu'un clic sur l'un des liens ouvre une fenêtre et que tout nouveau clic sur l'un des liens ouvre le lien dans la fenêtre existante (le cas échéant)

    Pour cela j'ai renseigné la valeur target identique pour les liens mais ça ne fonctionne pas. Il m'ouvre toujours autant de fenêtres que de clics. Ce que j'ouvre c'est une action struts (.do) et peut-être qu'il modifie quelque chose dans la requête http qui supplante la balise target. Quelqu'un a-t-il déjà été confronté au problème ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 123
    Points : 112
    Points
    112
    Par défaut
    salut,
    Peux tu donner un petit aperçu de tes sources essentiellement le struts-config et la page JSP qui contient les liens ?
    Merci,

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 62
    Points : 55
    Points
    55
    Par défaut
    Les liens sont normalement créés par des fonctions javascript. Comme je n'arrivais pas à faire ce que je voulais, j'ai décomposé en liens simples mais même ainsi ça ne marche pas. : scopeUsesAssociationConsultationURL est de la forme http://serveur:port/repertoire/UsesA....do?paramètres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <a href="#" onclick="window.open('<%=scopeUsesAssociationConsultationURL + "&ticket="+currentTicket+"&CODLANG="+currentLanguage%>', 'test','')">test</a>		
     
    <a href='<%=scopeUsesAssociationConsultationURL + "&ticket="+currentTicket+"&CODLANG="+currentLanguage%>' target="test">test2</a>
    Pourtant le deuxième paramètre est la target

    Voici des extraits des fichiers struts-config.xml et commons-definitions.xml

    struts-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      <action-mappings>
     
       <action path="/UsesAssociationHome" type="com.blabla.UsesAssociationHomeAction" validate="false">
          <forward name="usesAssociationHome" path=".usesAssociationHome"/>
        </action>
     
        <action path="/UsesAssociationPrepare" type="com.blabla.UsesAssociationPrepareAction" validate="false">
          <forward name="usesAssociationPrepare" path=".usesAssociationPrepare"/>
        </action>
     
      </action-mappings>
    commons-definitions.xml

    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
     
    <tiles-definitions>
     
     
    	<definition name=".usesAssociationPrepareContent" path="/jsp/page/usesAssociation.jsp">
    		<put name="usesAssociationLayoutContent" value=".usesAssociationLayoutContent" type="definition"/>
    	</definition>
     
    	<definition name=".usesAssociationTreeContent" path="/jsp/page/usesAssociationTree.jsp"/>
     
    	<definition name=".usesAssociationLayoutContent" path="/jsp/layout/usesAssociationLayout.jsp"/>
     
    	<definition name=".usesAssociationHome" path="/jsp/layout/basicLayout.jsp">
    		<put name="treeContent" value=".usesAssociationTreeContent" type="definition"/>
    		<put name="mainContent" value="UsesAssociationPrepare.do" type="string"/>
    	</definition>
     
    	<definition name=".usesAssociationPrepare" path="/jsp/layout/mainPaneLayout.jsp">
    		<put name="pageTitle" value="Uses association for TSD Model" type="string"/>
    		<put name="bodyContent" value=".usesAssociationPrepareContent" type="definition"/>
    		<put name="jsFile" value="./js/usesAssociation.js" type="string"/>
    	</definition>
     
    	<definition name=".java2JSON" path="/jsp/java2JSON.jsp"></definition>	
     
    </tiles-definitions>

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    pourquoi utilises-tu la balise HTML "<a>" si tu lui associes l'attribut "onclick"?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="window.open('<%=scopeUsesAssociationConsultationURL + "&ticket="+currentTicket+"&CODLANG="+currentLanguage%>', 'test','')">test</a>
    essayes avec la balise "<span>"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span onclick="window.open('<%=scopeUsesAssociationConsultationURL + "&ticket="+currentTicket+"&CODLANG="+currentLanguage%>', 'test','')">test</span>
    c'est mieux?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 62
    Points : 55
    Points
    55
    Par défaut
    Je m'en sers car une utilisation standard de <a></a> ne donne pas le résultat escompté.
    Le résultat est le même avec un <span></span>

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    je viens de tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <span onclick="window.open('http://www.google.fr','test','')">test</span><br/>
    <a href='http://www.yahoo.fr' target="test">test2</a>
    et ça ouvre dans la même fenêtre les 2 urls...
    peux-tu mettre le code HTML généré des 2 balises concernées?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 62
    Points : 55
    Points
    55
    Par défaut
    Oui, dans un cas normal, ça fonctionne.
    Le problème vient du fait que ce sont des actions struts et que, quelquepart, l'action doit écraser la valeur du target.

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    Citation Envoyé par mattheox Voir le message
    peux-tu mettre le code HTML généré des 2 balises concernées?
    merci d'avance

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 62
    Points : 55
    Points
    55
    Par défaut
    Voci trois liens différents qui ouvrent tous de nouvelles fenêtres à chaque clic :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <a href="#" onclick="window.open('http://localhost:8080/Scope/UsesAssociationHome.do?instance=CONSULTATION&ticket=172.31.178.150:CDI01:16223075:0:78787:int1&CODLANG=FR', 'test','')">test</a>		
     
    <a href='http://localhost:8080/Scope/UsesAssociationHome.do?instance=CONSULTATION&ticket=172.31.178.150:CDI01:16223075:0:78787:int1&CODLANG=FR' target="test">test2</a>
     
    <span onclick="window.open('http://localhost:8080/Scope/UsesAssociationHome.do?instance=CONSULTATION&ticket=172.31.178.150:CDI01:16223075:0:78787:int1&CODLANG=FR', 'test','')">test3</span>

  10. #10
    Membre averti

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Points : 439
    Points
    439
    Par défaut
    j'ai fait le test chez moi avec des appels "struts", et ça ouvre à chaque fois dans la même fenêtre.
    Quel navigateur utilises-tu?

    peux-tu mettre un point d'arrêt dans la méthode execute de ton Action.
    fermes toutes les fenêtres sauf la fenêtre "appelante" avec les 3 liens.

    clic sur un lien.
    normalement, ça va ouvrir une fenêtre qui sera blanche et dont la barre d'état en bas est blanche aussi avec des batons verts... qui apparaissent le temps de création de la page
    relâche le point d'arrêt...ça affiche le contenu dans la nouvelle fenêtre

    clic sur un lien de la fenêtre appelante.
    est-ce que ça ouvre une nouvelle fenêtre? ou bien, est-ce que la barre d'état en bas est blanche avec des batons verts?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 62
    Points : 55
    Points
    55
    Par défaut
    J'utilise IE 6.0 sous Windows Server 2003, je n'ai pas le choix, c'est la configuration du client. Merci pour ton aide, je vais tester ce que tu me dis dès que j'aurai un peu de temps

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 62
    Points : 55
    Points
    55
    Par défaut
    Je n'ai toujours pas résolu mon problème.
    En ouvrant des pages html classiques, ça fonctionne. Dès que je passe par mes actions struts, ça ouvre constamment des nouvelles fenêtres. Je ne vois vraiment pas pourquoi j'ai ce problème

Discussions similaires

  1. Ouverture d'un lien dans une nouvelle fenêtre
    Par tom6821 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 20/07/2012, 21h15
  2. Ouverture d'un lien dans une nouvelle fenêtre
    Par laurentSc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 13/05/2010, 14h38
  3. Lien dans une nouvelle fenêtre en xml
    Par Maheux dans le forum XML/XSL et SOAP
    Réponses: 11
    Dernier message: 11/10/2007, 15h16
  4. Ouvrir un lien dans une nouvelle fenêtre
    Par magicibis dans le forum SharePoint
    Réponses: 0
    Dernier message: 08/08/2007, 17h21
  5. Ouvrir un lien dans une nouvelle fenêtre
    Par Le Lézard dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/12/2004, 14h43

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