Servlets - JavaScript

Servlets - JavaScript - Programmation

Marsh Posté le 08-04-2002 à 17:03:49    

Bonjours à tous,
 
J'ai une page HTML composées de 3 frames, l'une d'entre elle est une servlet. Dans cette servlet, j'aimerai acceder à la fenetre mère(pour récupérer son titre par exemple), ma servlet générer donc le JavaScript suivant :
            <script language="JavaScript">
                    function titre()
                    {
                     myParentTitle = parent.document.title
                     alert("titre : " + myParentTitle)
                    }
            </script>
Et j'y fait appel grâce à :  
<a href="javascript:titre()"> clique ici</a>
 
Mais ça fonctionne pô (alors que si je le tape en dure et l'enregistre dans fichier html, ça marche). Et d'une manière générale, dès je je souhaite accéder à la fenetre mère (ou filles) dans ma servlet, et ben ça foire.
Si quelqu'un sait quelque chose la-dessus ...
Merci
Eco

Reply

Marsh Posté le 08-04-2002 à 17:03:49   

Reply

Marsh Posté le 08-04-2002 à 18:01:06    

tu génères ta page HTML directement depuis ta servlet ?

 

[jfdsdjhfuetppo]--Message édité par El_Gringo--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 09-04-2002 à 09:20:06    

Salut,
 
Non, non, seul ma frame du milieu est gérée par une servlet.
 
Eco

Reply

Marsh Posté le 09-04-2002 à 10:00:44    

Eco a écrit a écrit :

Salut,
Non, non, seul ma frame du milieu est gérée par une servlet.
Eco  




si ta servlet génrère le même code que tu tapes en dur, ca doit forcément marcher ... regarde le source de ta page HTML générée pour voir que qui ne marche pas dans ton code Javascript.
A tout les coups, c'est une erreur de guillemets à la con ...

Reply

Marsh Posté le 09-04-2002 à 10:36:43    

Malheureusement non c'est pas une histoire de guillmets. Quand j'affiche le code que génère ma servlet c :
 
<html>
<head>
<script language="JavaScript">
function setTextD()
{
alert("1" )
myParentTitle = parent.document.title
alert("My daddy's name is " + myParentTitle)
alert("2" )
}
 
</script>
</head>
        <body>
                <p align="left" lang="fr">
                                Salut !!
                </p>
                <a href="javascript:void setTextD()">ici</a>
                </body>
</html>
 
Je vois bien l'alert "1"  mais plus rien (il affiche meme pas "My daddy's name is " ).  
A mon avis c un problème plus compliqué que ça ...
 
Eco.

Reply

Marsh Posté le 09-04-2002 à 10:56:02    

et si tu copy/paste ca dans un fichier HTML et que tu le lances ca marche?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-04-2002 à 11:11:41    

si ça <a href="javascript:void setTextD()">ici</a>
ça marche !!!!!!!!!!!!!!

Reply

Marsh Posté le 09-04-2002 à 11:13:21    

gwen2709 a écrit a écrit :

si ça <a href="javascript:void setTextD()">ici</a>
ça marche !!!!!!!!!!!!!!  




 
 :??:  
 
si ca ...  
 
ca marche ???? hein?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-04-2002 à 11:15:00    

Oui quand je copie ça dans un fichier HTML ça marche, mais quand c généré par ma servlet ça marche pas.  
Je ne demande si c'est pas un problème lié a la durée de vie de la servlet ... Si quelqu'un a une idée
 
Eco

Reply

Marsh Posté le 09-04-2002 à 11:22:19    

bin je me demande si javascript ne construit pas ses liens parent -> enfants at runtime. Et que la servlet n'est pas capable de gérer cela.  
 
Question il n'y a rien de dynamique dans ta servlet. Pq faire une servlet pour ca?
 
Question2: pourquoi faire une servlet alors qu'une JSP est bien mieux indiquée pour cela.
 
Mais ca a l'air foireux ton machin. Il y a un effet de bord cachés et c'est difficile de deviner ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-04-2002 à 11:22:19   

Reply

Marsh Posté le 09-04-2002 à 11:25:51    

DarkLord a écrit a écrit :

 
 
 :??:  
 
si ca ...  
 
ca marche ???? hein?  




 
c'était pas une affirmation mais plutot un etonnement!!

Reply

Marsh Posté le 09-04-2002 à 11:33:22    

Bien sure, il n'y a aucun interet à faire une servlet pour ça. Mais c'était juste un example.  
En faite je cherche a appeller des fonctions qui sont dans la fenetre parent. Mais le problème est le meme, j'arrive pas a acceder a la fenetre parent de ma servlet.  
Par contre c'est quoi exactement les effets de bord que je peux avoir ?
 
Eco.

Reply

Marsh Posté le 09-04-2002 à 11:35:12    

et bien, probablement que le contexte pourrait ne pas etre respecté puisque ta frame est générée à la volée. Ce qui expliquerait pq Javascript se melerait les pinceaux.
 
Il y a probablement un contexte à attacher à la frame. Je suis presque sur que le problème vient de là (puisque le code est correct).


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-04-2002 à 11:44:33    

Il n'y a aucun code secret mais je ne peux pas te copier le code de ma servlet, il est un peu trop[quote] gros et il fait appel a plein de classe java ...
Mais c'est mon premier projet avec une servlet et j'ai du faire des erreurs grossières. Et je comprend pas vraiment quand tu parles d'atacher un "context à une frame", ca veut dire quoi exactement ? Tu peux m'expliquer ? T'as de la docs ?
 
Eco.

Reply

Marsh Posté le 09-04-2002 à 12:08:48    

non. Perso je suis pas du tout orienté présnetation. Je travaille sur le back end et tout ce qui est business methods.
 
Donc pour ce qui est du layer de présentation je ne peux pas t'aider. C'était juste une intuition ...
 
Bonne chance


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-04-2002 à 13:44:56    

DarkLord a écrit a écrit :

et bien, probablement que le contexte pourrait ne pas etre respecté puisque ta frame est générée à la volée. Ce qui expliquerait pq Javascript se melerait les pinceaux.
 
Il y a probablement un contexte à attacher à la frame. Je suis presque sur que le problème vient de là (puisque le code est correct).  




nan nan, rien à voir. Ca devrait marcher ...

Reply

Marsh Posté le 09-04-2002 à 13:46:11    

benou a écrit a écrit :

 
nan nan, rien à voir. Ca devrait marcher ...  




 
bin c'est bizarre que lorsqu'il fait un copy/paste du codé généré par la servlet ca marche ...


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 09-04-2002 à 13:46:31    

gwen2709 a écrit a écrit :

si ça <a href="javascript:void setTextD()">ici</a>
ça marche !!!!!!!!!!!!!!  




qu'est ce que tu veux dire par la ???
si quand tu cliques sur "ici" ca fonctionne, c'est bon nan ?

Reply

Marsh Posté le 09-04-2002 à 13:49:07    

DarkLord a écrit a écrit :

 
bin c'est bizarre que lorsqu'il fait un copy/paste du codé généré par la servlet ca marche ...  




c'est pas que c'est bizare, c'est que c'est aps possible. Y a une couille kekpart !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed