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 :

MàJ dynamique d'une demi-page sans frame


Sujet :

Servlets/JSP Java

  1. #1
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut MàJ dynamique d'une demi-page sans frame
    Bonjour tout le monde.

    Je suis en train de modifier une page sur un logiciel "web-based".
    Le but de ma modification est de rendre une partie de cette page dynamique.
    Pour détailler un peu, je travaille dans une frame, en haut de laquelle il y a deux listes déroulantes, et dont le changement (sélection) peut entrainer la modification de la partie basse de ma frame.

    Or j'ai lu "un peu partout" que l'utilisation des frames est déconseillée. Je sais que le projet en contient déjà beaucoup et que je pourrais passer outre cette règle. Mais je préfèrerais fairer un codage propre et beau !

    En gros, j'aimerais autant ne serait-ce que par conviction personnelle, changer le contenu de la partie basse de ma frame actuelle, sans la séparer à son tour en deux frames.

    Pourriez vous donc, s'il vous plaît, m'indiquer comment je peux réaliser un tel traitement ?

    Par avance, Merci.

    PS : Il y a déjà du JavaScript qui gère une partie des listes déroulantes, donc je ne vois aucun problème à en rajouter un peu pour éviter un dialogue incessant en le client et le serveur.
    PS2 : Le contenu de la partie basse de ma frame sera contenu dans un fichier. En ce sens ai-je tord de vouloir a tout prix éviter les frames... car il serait évidement plus simple de charger un fichier HTML complet et valide décrivant toute la partie basse de la frame, plutôt qu'un extrait de fichier HTML qui sera ensuite écrit à l'intérieur d'une autre page HTML.
    PS3 : Le code devant changer dynamiquement tiens en une trentaine de lignes... et ressemble au suivant :
    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
                <%if(type.equals("Dev")){
                    out.println("<TR>");
                        out.println("<TD>");
                            out.println("<TABLE>");
                                out.println("<TR>");
                                    out.println("<TD>Taille: *</TD>");
                                    out.println("<TD><input type=text name="+MessageContent.BLOCK_SIZE+" value=\"1\" size=10></TD>");
                                out.println("</TR>");
                                out.println("<TR>");
                                    out.println("<TD>Projet:</TD>");
                                    out.println("<TD><input type='text' name="+MessageContent.PROJECT+" value=\"*\" size=20></TD>");
                                out.println("</TR>");
     
                            out.println("</TABLE>");
                        out.println("</TD>");
                    out.println("</TR>");
                }else{
                    out.println("<TR>");
                        out.println("<TD>");
                            out.println("<TABLE>");
                                out.println("<TR>");
                                    out.println("<TD>Taille: *</TD>");
                                    out.println("<TD><input type=text name="+MessageContent.BLOCK_SIZE+" value=\"1\" size=10></TD>");
                                out.println("</TR>");
                                out.println("<TR>");
                                    out.println("<TD>Projet:</TD>");
                                    out.println("<TD><input type='text' name="+MessageContent.PROJECT+" value=\"*\" size=20></TD>");
                                out.println("</TR>");
                                out.println("<TR>");
                                    out.println("<TD>Nom:</TD>");
                                    out.println("<TD><input type='text' name="+MessageContent.NAME+" value=\"*\" size=20></TD>");
                                out.println("</TR>");
                            out.println("</TABLE>");
                        out.println("</TD>");
                    out.println("</TR>");
                }%>

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Par défaut
    Cas d'école pour l'utilisation d'AJAX et de DHTML

    Suivant ton besoin, tu peux soit te limiter à du DHTML : si le contenu de ta seconde partie est prédictible. Si le choix dans les listes ne fait que montrer/cacher des tags, alors pas bersoin d'ajax et d'appels serveurs. Ce qu'il te faut c'est générer tous les objets que ta page peut contenir, encadrés par des <DIV> afin de pouvoir les référencer facilement, et de montrer/cacher ces div.

    Si par contre, le choix dans un liste nécessite une "intelligence" métier, autant déporter côté serveur la génération du code html correspondant. Pour cela tu encadres d'un DIV ta pseudo-frame, et tu regénère son contenu en appelant le serveur à l'aide d'un appel HttpRequest. Pour cela je te conseille d'utiliser la librairie DOJO qui est très bien. Cette solution n'est pas une solution Ajax dans le plus pur style (on ne manipule pas du XML, mais juste du HTML) mais elle a l'avantage de fonctionner et d'être plus performante (pas de parsing XML). Et comme ça tu écris une Jsp qui génère le code HTML de ta pseudo frame du bas.

    Jacques Desmazières

  3. #3
    Membre éclairé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Par défaut
    Ok, Merci bien.

    Je vais voir si j'arrive à me débrouiller avec ça

    De toute façon, si j'y arrive pas, je sais où chercher !

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 09/04/2007, 13h01
  2. Redirection de page sans frame
    Par christo.pop dans le forum Flash
    Réponses: 2
    Dernier message: 30/11/2006, 11h29
  3. Réponses: 3
    Dernier message: 05/11/2006, 11h42
  4. Réponses: 1
    Dernier message: 17/10/2006, 16h01
  5. Afficher une page web dans une autre page sans frame
    Par bahs dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2006, 17h51

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