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 :

Probleme d'appel des jsp(avec balise struts) par ajax


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 123
    Points : 47
    Points
    47
    Par défaut Probleme d'appel des jsp(avec balise struts) par ajax
    Bonjour tout le monde,
    page appelante :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ page import="java.util.List" %>
    <%@ page import="java.util.ArrayList" %>
     
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested" %>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html:html locale="true">
      <head>
        <html:base />
     
        <title>MyJsp.jsp</title>
     
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <style type="text/css">
    	div.calque{
    		position: absolute;
    		top: 60px;
    		left: 10px;
    		visibility:hidden
    	}
    	div.titre{
    		font:Georgia, "Times New Roman", Times, serif;color:#FF0000;
    	}
     
    </style>
         <script type="text/javascript">
     
    	function getXhr(){
    		var xhr = null;
    		if(window.XMLHttpRequest){
    			xhr = new XMLHttpRequest();
    		}else if(window.ActiveXObject){
    			try{
    				xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			}catch(e){
    				xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			}
    		}else {
    			alert("Votre navigateur ne supporte pas les objets XMLHttpRequest");
    			xhr = false;
    		}
    		return xhr;
    	}
     
    	function afficheMessages(valeur){
    		var xhr = getXhr();
    		xhr.onreadystatechange = function(){
    			if(xhr.readyState == 4 && xhr.status == 200){
    				document.getElementById('c').innerHTML=xhr.responseText;
    			}
    		}
    		alert("ajax"+valeur+".jsp");
    		xhr.open("GET","ajax"+valeur+".jsp",true);
    		xhr.send(null);
    	}
    </script>
      </head>
     
     
      <body>
      <html:form action="/main">
      	<html:select property="select" onchange="afficheMessages(this.value)">
      		<html:option value="0">...</html:option>
      		<html:option value="1">aaa</html:option>
      		<html:option value="2">bbb</html:option>
      	</html:select>
      </html:form>
    	<div id="c">
     
    	</div>
      </body>
    </html:html>
    page appelée :ajax1.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested" %>
     
    		ajax 1 : <html:text property="t"></html:text>
    		<html:submit value="envoyer"></html:submit>
    page ajax2.jsp (semblable à ajax1.jsp)
    comme ce que mon code montre, j'essaie d'afficher des éléments de formulaire contenus dans ma page jsp dans ma premiere page.
    les balises utilisées dans ajax1.jsp (et ajax2.jsp) sont des balises struts.
    le resultat que j'obient est KO, le champ test t ne s'affiche pas.
    pourtant avec des balises html (<input name....>) le resultat est bon : le champ text s'affiche.
    Avez vous une idée sur la source de probleme?
    et Merci.

  2. #2
    Membre expérimenté
    Avatar de azerr
    Homme Profil pro
    Ingénieur Etude JEE/Eclipse RCP
    Inscrit en
    Avril 2006
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Etude JEE/Eclipse RCP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 942
    Points : 1 464
    Points
    1 464
    Par défaut
    Bonsoir edogawa,
    j epense que ton probleme n evient pas d'AJAX puisque d'apres ce que tu as dit
    quand tu ecrit du pur HTML, ta requete AJAX fonctionne.
    Ton probleme vient de ta JSP ajax1.jsp. C'est un probleme struts.
    En effet, je croies que tous les tags html:text,... doivent etre contenu dans un formulaire. Il faudrait faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <html:form action="action1" >
    		ajax 1 : <html:text property="t"></html:text>
    		<html:submit value="envoyer"></html:submit>
    </html:form>
    Mais toi tu ne veux pas un formulaire dans un formulaire.
    Donc pour ton cas, tu ne peux faire du pur struts, il faut faire du pure HTML en pensant bien a indiquer name dans l'input pour que le champs soit bien pris en compte lors du post du formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ajax 1 : <input type="text" name="t" />
    <input type="submit" value="envoyer" />
    Sinon je te conseil d'utiliser une librarire AJAX comme Prototype qui est tres legere. Ca t'evitera de reinventer la roue. Et tu seras sur que ton site fonctionnera avec n'importe quelle navigateur.

    Angelo

Discussions similaires

  1. Probleme jsps avec tag struts
    Par mafanta dans le forum Struts 1
    Réponses: 1
    Dernier message: 10/02/2010, 20h09
  2. Probleme de chargement des CSS avec Tomcat
    Par netking2006 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 28/05/2007, 21h12
  3. Probleme de compatabilité des CSS avec IE7
    Par stratus dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 15/05/2007, 17h09
  4. probleme d'affichage des informations avec quickrep
    Par hamadi_insat dans le forum Bases de données
    Réponses: 1
    Dernier message: 14/09/2006, 19h31
  5. WTP : probleme pour editer des JSP
    Par felix79 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/06/2006, 16h14

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