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

JavaScript Discussion :

Récupérer une valeur de la servlet


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut Récupérer une valeur de la servlet
    Bonjour, je ne sais pas ou poster ma question dans javascript ou ajax

    Voici une partie de code de ma servlet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    message=Daotest.creer(val1, val2, val3);
    System.out.println(message);
    req.setAttribute("ATT_MESSAGE",messageaftervalidation);		
    this.getServletContext().getRequestDispatcher(VUE).forward(req, resp);
    Ceci marche très bien. J'arrive à voir la valeur de la variable message grâce à System.out.println.

    Voici une partie du code de la 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
    <script type="text/javascript">
    	$(document).ready(function(){
    		$("btn").submit(function(e){
    			e.preventDefault();
    		});
    		$("#btn_enr").click(function(e){
                		var dataString = $("#idform").serialize(); 
                		$.ajax({
                    		type: "POST",
                    		url: "Servlet?action=create",
                    		data: dataString,
                			success : function(data){	
                				alert(<%request.getAttribute("ATT_MESSAGE")%>);
                				$('#id').val('');
                			}    
                		});
                		e.preventDefault();
    		});		
    		return false;
    	});
    </script>
    A travers cette instruction: alert(<%request.getAttribute("ATT_MESSAGE")%>);, je voudrais afficher le message reçu de la servlet. Pour le moment j'ai la valeur null.

    Sur ma jsp, j'ai l'instruction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@page import="servletPackage.Servlet" %>
    Merci de votre aide.

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    au risque de me répéter
    ne pas mélanger le code serveur avec le code client c'est source d'erreur et de confusion.

    le code serveur java s’exécute sur le serveur
    le code client javascript s'exécute dans le navigateur.

    générer le code javascript dans la servlet est une mauvaise idée.

    il est beaucoup plus simple rapide efficace maintenable et moins source d'erreur de mettre TOUT le javascript dans des fichier js statiques et de les lier aux pages html.

    du coup dans le vrac de ton code je n'ai pas compris le problème.
    normalement tu devrait avoir ceci
    une servlet qui génère une page
    le navigateur qui interprète cette page et qui récupère les élément liés (entre autres les js)
    le navigateur qui interprète du js et fait une requête ajax vers une servlet de service, un service rest ou soap
    le serveur qui exécute ce service et retourne un XML ou un JSON
    l'objet Ajax du navigateur qui récupère la réponse responseXML si c'est du XML ou JSON.parse(responseTEXT) si c'est du json
    le javascript qui utilise la réponse.

    A+JYT

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Merci de votre réaction. Mais ma servlet n'a aucune instruction javascript. Je souhaite récupérer la valeur de la variable dans ma page jsp et l'affiche.

  4. #4
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    ceci est un melange de code java et javascript
    or l'un est exécuté sur le serveur l'autre sur le client
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                			success : function(data){	
                				alert(<%request.getAttribute("ATT_MESSAGE")%>);
                				$('#id').val('');
                			}
    le client demande la page
    le serveur via la servlet et le jsp génère une texte qui contient un appel à alert avec la valeur courante écrite en dur (non dynamique au sens js)
    le navigateur instancie le DOM
    interprète le javascript
    appelle la servlet
    et dans le traitement de la réponse qui est ignoré (pas de code utilisant la réponse du serveur à l'appel ajax)
    on passe sur le alert qui a été écrit en dur au tout début.

    ce code n'a donc aucun sens
    i n'est pas bugué
    il ne corresponds simplement à rien.

    A+JYT

Discussions similaires

  1. Réponses: 18
    Dernier message: 09/07/2008, 09h45
  2. [XSL]récupérer une valeur de plusieurs fichiers XML
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 05/02/2006, 00h32
  3. problème pour récupérer une valeur dans ma bd (débutante)
    Par auryn111 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/08/2005, 17h49
  4. Réponses: 2
    Dernier message: 17/06/2005, 13h38
  5. Réponses: 2
    Dernier message: 11/12/2004, 21h20

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