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

Servlets/JSP Java Discussion :

Mise à jour le contenu d'une page jsp sans rafraîchir


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2008
    Messages : 39
    Points : 35
    Points
    35
    Par défaut Mise à jour le contenu d'une page jsp sans rafraîchir
    Bonjour ;
    J'ai une page jsp qui affiche le contenu d'une table_1.
    et dans cet page une "select ou combobox "qui charge apartir d'un autre table_2
    Alors que l'utilisateur consulte une page le contenu de la table_2 change sur une seconde par seconde base.
    Ainsi, l'utilisateur doit actualiser la page à chaque fois pour voir le contenu frais et mis à jour. Comment puis-je mettre à jour le contenu de la page jsp sans avoir à rafraîchir la page.
    merci

  2. #2
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2013
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 269
    Points : 434
    Points
    434
    Par défaut
    Bonjour,
    je ne suis pas certain d'avoir bien compris le problème mais en Javascript (ou par appel ajax si les données proviennent du serveur) cela n'est pas possible ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2008
    Messages : 39
    Points : 35
    Points
    35
    Par défaut
    bonjour ,
    je veux faire la mis à jour du combobox par les nouveaux valeurs du table qui charge cet combobox.
    sans rafrichir mon page jsp, just quand je clic sur le bouton refresh qui appel la méthode qui charge et se trouve dans la servlet arraylist qui remplir la combobox..
    merci d'aider moi

  4. #4
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    peux-tu nous donner le code de la page que tu veux rafraichir ?

    Eric

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2008
    Messages : 39
    Points : 35
    Points
    35
    Par défaut
    bonjour;
    dans la page jsp le code c'est :
    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
     
    <%ArrayList<Image>  images = (ArrayList<Image>) request.getAttribute("images");%>
    <form  name="AddLogoClient" id="AddClientform"  method="post" action="UpLoadImages">
    <select id="CustomerLogo"name="Add_user_resources">
    	<option value="">select logo</option>
    	<% File folder = new File(getServletContext().getRealPath("/")+ "/"+ResourcesPath);
                  if(images !=null)
                   {
                    for(Image image : images) {
                    %>
    		<option value="CustomerLogo=dislsrv/<%=ResourcesPath%>/<%=image.getImageName()%>" >
    		<%=image.getImageName()%>
    		</option>
    		<%} } 
                    else {
                            folder = new File(getServletContext().getRealPath("/")+"/imageres");
                            File[] listOfFiles = folder.listFiles();
                            if(listOfFiles != null && listOfFiles.length>0){
                            for (int i = 0; i < listOfFiles.length; i++) {
                            if (listOfFiles[i].isFile()) {
                            %>
    			<option value="CustomerLogo=dislsrv/imageres/<%=listOfFiles[i].getName()%>">
    				<%=listOfFiles[i].getName()%>
    			</option>
    			<%
                            } } }}
                            %>
    </select>
    		<input type=button id="refrech" value='refrech'>
    </form>
    dans la servlet c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ArrayList<Image>  images= ImageOperations.getAllImage(clientId) ;
    request.setAttribute("images", images);

  6. #6
    Membre actif
    Homme Profil pro
    Consultant BigData
    Inscrit en
    Juillet 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant BigData

    Informations forums :
    Inscription : Juillet 2009
    Messages : 129
    Points : 280
    Points
    280
    Par défaut
    Salut,

    Il faut bien garder à l'idée que ton "ArrayList" est un objet dans ta JVM sur le serveur et ne sera jamais visible du client.
    L'idée serait donc de fournir un autre endpoint (ton endpoint principal serait mapage.jsp et celui-ci meobjettables2.jsp ou plutôt tout autre nom le représentant mieux) qui te retourne les éléments de ta seconde table (ceux pour ta combo box) sous un format que tu détermineras (JSON me paraît être un bon candidat). Ensuite, par un appel Javascript (qui serait appelé à intervalles réguliers ou bien par l'appui sur un bouton), tu appelles ce endpoint et met à jour la combo box.
    Tu trouveras beaucoup de doc sur la façon d'appeler ce endpoint en Javascript en utilisant AJAX.

    A+

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2008
    Messages : 39
    Points : 35
    Points
    35
    Par défaut
    bonjour ;
    j'ai essayé de faire ce code mais toujour la page submit ????

    page 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
     
    <script type="text/javascript"> 
            var form = $('#AddClientform');
        $(document).ready(function(){
        $('#refrech').click(function(){  
                    $.ajax({  
                        url:'StoreClient',  
                        type:'post', 
                        Request : "refrechLogos", 
                        data: $(form).serialize(),  
                        success: function(data) {  
                            $('#CustomerLogo').val(data);  
                             
                        }  
                    });  
                });  
        });  
    </script>

    servlet :

    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
     
    				ArrayList<Image>  images= ImageOperations.getAllImage(clientId) ;
    				PrintWriter out = response.getWriter();
    		        	JSONObject json = new JSONObject();
    		        	if (images!=null&&images.size()>0) 
    		        	{
    		        		String jsonData="<select id='CustomerLogo' name='Add_user_resources'>";
    		        			   jsonData+="<option value=''>";
    		        			   jsonData+=" select ... ";
    		        			   jsonData+="<option/>";
    			        	for (int i = 0; i < images.size(); i++) 
    			        	{
    			        		jsonData+="<option value=imageres/logos/"+images.get(i).getImageName()+">"+images.get(i).getImageName() +"<option/>";
    			        	}
    			        	jsonData+="<select/>";
    			        	json.put("CustomerLogo",jsonData.toString().trim());
    			        	out.write(jsonData);
    		        	}

Discussions similaires

  1. Mise à jour du contenu d'une liste
    Par Gregmo dans le forum Général Python
    Réponses: 3
    Dernier message: 06/05/2015, 16h28
  2. Réponses: 5
    Dernier message: 20/09/2011, 18h55
  3. Pb de mise à jour du contenu d'une fenêtre
    Par sepas dans le forum Agents de placement/Fenêtres
    Réponses: 12
    Dernier message: 05/09/2009, 14h01
  4. Réponses: 2
    Dernier message: 24/03/2008, 17h59
  5. Réponses: 3
    Dernier message: 19/07/2007, 15h46

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