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 :

Cacher partie d'un formulaire temporairement


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 132
    Par défaut Cacher partie d'un formulaire temporairement
    Bonjour à tous,

    je suis à nouveau devant un petit problème.

    je vous explique.

    j'ai un formulaire pour ajouter un utilisateur, modifier un utilisateur ou supprimer un utilisateur (donc trois formulaires)

    l'idée est la suivante.

    Dans le formulaire pour modifier un utilisateur, on à une liste déroulante pour le choix de l'utilisateur, je voudrais qu'une fois que l'on à choisi l'utilisateur, que les champs, nom, prénom et autres apparaissent sur la page avec les informations dedans.


    donc j'ai une servlet qui vérifier si on fait bien un choix et une classe (modèle) qui elle va récupérer les informations en DAO pour recharger la page (vue) de l'utilisateur

    l'idée est de faire

    if (si mon modelé est true) {

    alors affiche les informations supplémentaires du formulaire de modification

    }
    si pas alors on affiche le reste du html, c'est-à-dire la liste déroulante avec un bouton submit.

    voici le code :


    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
    
    <form name="modif_add_user" id="modif_add_user" action="<%=request.getContextPath()%>/ModifUser" method="post">
    		<fieldset>
    			<legend>
    				Modification d'un utilisateur
    			</legend>
    			<p>
    				<label>
    					Nom :
    				</label>
    				<select name="modif_user" id="form_modif_user" title="Faite votre choix" size="1">
    					<!--On rend le premier champ vide -->
    					<option value="">Utilisateur</option>
    					<%
    					List<ModifUserTo> loadListeAllUserForModif;
    					ModifUserDAO LoadListeUsers = new ModifUserDAOMySqlImpl();
    					//Exécution de la requete pour chargemnet des utilisateur
    					loadListeAllUserForModif = LoadListeUsers.returnListUsers();
    					//On boucle pour remplir les champs
    					for (int i=0; i<loadListeAllUserForModif.size(); i++)
    					{
    					%>
    					<option value="<%=loadListeAllUserForModif.get(i).getIdUser()%>"><%=loadListeAllUserForModif.get(i).getLastNameUser()%> <%=loadListeAllUserForModif.get(i).getFirstNameUser()%></option>
    					<%
    					}
    					%>
    				</select>
    			</p>
    			<p>
    				<label>
    					Nom :
    				</label>
    				<input type="text" title="Entrer le nom de l'utilisateur" name="modif_lastname" id="form_modif_lastname" /> <span class="obligation"> *</span>
    			</p>
    			<p>
    				<label>
    					Prénom :
    				</label>
    				<input type="text" title="Entrer le prénom de l'utilisateur" name="modif_firstname" id="form_modif_firstname" /> <span class="obligation"> *</span>
    			</p>
    			<p>
    				<label>
    					Login de connexion :
    				</label>
    				<input type="text" title="Entrer le login de l'utilisateur" name="modif_login" id="form_modif_login" /> <span class="obligation"> *</span>
    			</p>
    			<p>
    				<label>
    					Mot de passe :
    				</label>
    				<input type="password" title="Entrer le mot de passe de l'utilisateur" name="modif_password" id="form_modif_password" /> <span class="obligation"> *</span>
    			</p>
    			<p>
    				<label>
    					Type d'utilisateur :
    				</label>
    				<select name="modif_type_user" id="form_modif_type_user" title="Faite votre choix" size="1">
    					<!--On rend le premier champ vide -->
    					<option value="">Type</option>
    					<% 
    					//On boucle pour remplir les champs
    					for (int i=0; i<loadListeTypeUserToAdd.size();i++){
    					%>
    						<option value="<%=loadListeTypeUserToAdd.get(i).getIdTypeUser()%>"><%=loadListeTypeUserToAdd.get(i).getTypeUser()%></option>
    					<%
    					}
    					%>			
    				</select> <span class="obligation"> *</span>
    			</p>
    			<p>
    			<input type="submit" title="Modifier l'utilisateur" value="Modifier" />
    			</p>
    			<p>
    				<i>Les champs marqués d'un <span class="obligation">*</span> sont obligatoires.</i>
    			</p>
    		</fieldset>
    	</form>
    Donc le code dans la partie bleu devrait être dans un if et exécuter juste au re chargement de la page après la méthode de vérification de la sélection dans la liste déroulante, si pas on ne l'affiche pas.

    donc la méthode va me retourner un boolean et si vrais quand il recharge la page alors il va rentrer dans le if et afficher le reste

    Le problème j'ai essayé de mettre <% ou <%= , ouvrir, fermer et taper le code HTML dedans, mais rien n'y fait

    En PHP je le fais sans problème.

    Vous avez une piste pour moi ?

    encore merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur Informatique et Réseaux
    Inscrit en
    Avril 2011
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Informatique et Réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 232
    Par défaut
    Bonjour,

    Pour votre problème, il me semble avoir vu la possibilité de mettre un "listener". Je pense qu'il faudrait écouter le clique sur la liste des utilisateurs et en cas de clique on recharge la page avec en paramètre "idUser" avec comme valeur l'id de l'utilisateur selectionné afin de pouvoir afficher dans le "select" l'utilisateur grace à l'attribut "selected" et afficher le bleu en mettant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(request.getParameter("idUser") != null){
    //Votre code en bleu
    }
    Pour la mise en place du listener, je ne pourrai pas vous aider car j'ai jamais essayé de le faire, mais je pense qu'il existe pas mal de tutoriel dessus.


    J'espère vous avoir aidé.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 132
    Par défaut
    Citation Envoyé par Spiritkill Voir le message
    Bonjour,

    Pour votre problème, il me semble avoir vu la possibilité de mettre un "listener". Je pense qu'il faudrait écouter le clique sur la liste des utilisateurs et en cas de clique on recharge la page avec en paramètre "idUser" avec comme valeur l'id de l'utilisateur selectionné afin de pouvoir afficher dans le "select" l'utilisateur grace à l'attribut "selected" et afficher le bleu en mettant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(request.getParameter("idUser") != null){
    //Votre code en bleu
    }
    Pour la mise en place du listener, je ne pourrai pas vous aider car j'ai jamais essayé de le faire, mais je pense qu'il existe pas mal de tutoriel dessus.


    J'espère vous avoir aidé.
    Merci pour votre aide.

    je vais regarder au listener qui est une solution comme une autre.

    mais meme avec le listener je reviens à mon problème.

    je n'arrive pas à intégrer mon code html dans les balise <% %>

    le listener me demande la meme chose puisqu'il faut intéger le code dans le if.

    Donc si j'arrive à faire ça avec le listener alors j'arrive aussi avec ma méthode.

    mais je pensais que le listener ne fonctionnais que pour swing et autre mais pas en jsp

    mais si vous avez une idée du pourquoi je ne sais pas mettre mon code html entre les balise jsp, je suis preneur

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur Informatique et Réseaux
    Inscrit en
    Avril 2011
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Informatique et Réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 232
    Par défaut
    D'accord, en fait ce que vous voulez c'est l'équivalent en java du "echo" de php.
    Le voila:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <% out.println("j'écris dans la page"); %>
    Est-ce ceci que vous recherchez?

  5. #5
    Membre émérite Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Par défaut
    Bonjour

    je te conseille de faire un bilan des classes dont tu as besoin :
    je te propose
    -une servlet qui en fonction des paramètres qu'elle reçoit va renvoyer vers la bonne méthode de la classe UserBusiness
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     String action = request.getParameter("action");
    //tu testes si ton parametre n'est pas null.
    //puis en fonction du contenu de ton action tu appelles la bonne méthode  de UserBusinnes 
     if (action.equals("")){
    	Utilisateur utilisateur = UserBusiness.loadUser();//appel avec les parametres qu'il faut. Puis tu mets dans ta request ton objet utilisateur 
    	if (utilisateur != null){
    		request.setAttribute("user",utilisateur);
    	}else{
    	//	cas utilisateur non trouve à traiter
    	}
    }else if // etc
    -une classe metier UserBusiness qui est un singleton et qui contient 4 méthodes addUser,loadUser,deleteUser,updateUser
    -une classe DAO qui fait les requetes à la base de données et qui est appelé par la classe UserBusiness
    -un objet Utilisateur qui est un simple POJO avec des attributs private nom,prenom etc ...avec des getters/setters et les constructeurs dont tu as besoin
    - dans ta JSP tu mets un champs hidden que tu peux appeler action qui contiendra l'action a appeler dans ta servlet. Dans ta liste de choix => un listenener sur l'évenement onchange qui va appeler une fonction javascript qui va appeler ta servlet

    et pour la partie en bleue de ta 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    	<%Utilisateur ut = request.getAttribute("user");%>
    	<%if (ut != null)%{>
            <p>
                                    <label>
                                            Nom :
                                    </label>
                                    <input type="text" title="Entrer le nom de l'utilisateur" name="modif_lastname" id="form_modif_lastname" /> <span class="obligation"> *</span>
                            </p>
                            <p>
                                    <label>
                                            Prénom :
                                    </label>
                                    <input type="text" title="Entrer le prénom de l'utilisateur" name="modif_firstname" id="form_modif_firstname" /> <span class="obligation"> *</span>
                            </p>
                            <p>
                                    <label>
                                            Login de connexion :
                                    </label>
                                    <input type="text" title="Entrer le login de l'utilisateur" name="modif_login" id="form_modif_login" /> <span class="obligation"> *</span>
                            </p>
                            <p>
                                    <label>
                                            Mot de passe :
                                    </label>
                                    <input type="password" title="Entrer le mot de passe de l'utilisateur" name="modif_password" id="form_modif_password" /> <span class="obligation"> *</span>
                            </p>
                            <p>
                                    <label>
                                            Type d'utilisateur :
                                    </label>
                                    <select name="modif_type_user" id="form_modif_type_user" title="Faite votre choix" size="1">
                                            <!--On rend le premier champ vide -->
                                            <option value="">Type</option>
                                            <% 
                                            //On boucle pour remplir les champs
                                            for (int i=0; i<loadListeTypeUserToAdd.size();i++){
                                            %>
    						<option value="<%=loadListeTypeUserToAdd.get(i).getIdTypeUser()%>"><%=loadListeTypeUserToAdd.get(i).getTypeUser()%></option>
    					<%
                                            }
                                            %>			
    				</select> <span class="obligation"> *</span>
    			</p>
    			<%}>

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 132
    Par défaut
    Citation Envoyé par isma4 Voir le message
    Bonjour

    je te conseille de faire un bilan des classes dont tu as besoin :
    je te propose
    -une servlet qui en fonction des paramètres qu'elle reçoit va renvoyer vers la bonne méthode de la classe UserBusiness
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     String action = request.getParameter("action");
    //tu testes si ton parametre n'est pas null.
    //puis en fonction du contenu de ton action tu appelles la bonne méthode  de UserBusinnes 
     if (action.equals("")){
    	Utilisateur utilisateur = UserBusiness.loadUser();//appel avec les parametres qu'il faut. Puis tu mets dans ta request ton objet utilisateur 
    	if (utilisateur != null){
    		request.setAttribute("user",utilisateur);
    	}else{
    	//	cas utilisateur non trouve à traiter
    	}
    }else if // etc
    -une classe metier UserBusiness qui est un singleton et qui contient 4 méthodes addUser,loadUser,deleteUser,updateUser
    -une classe DAO qui fait les requetes à la base de données et qui est appelé par la classe UserBusiness
    -un objet Utilisateur qui est un simple POJO avec des attributs private nom,prenom etc ...avec des getters/setters et les constructeurs dont tu as besoin
    - dans ta JSP tu mets un champs hidden que tu peux appeler action qui contiendra l'action a appeler dans ta servlet. Dans ta liste de choix => un listenener sur l'évenement onchange qui va appeler une fonction javascript qui va appeler ta servlet

    et pour la partie en bleue de ta 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    	<%Utilisateur ut = request.getAttribute("user");%>
    	<%if (ut != null)%{>
            <p>
                                    <label>
                                            Nom :
                                    </label>
                                    <input type="text" title="Entrer le nom de l'utilisateur" name="modif_lastname" id="form_modif_lastname" /> <span class="obligation"> *</span>
                            </p>
                            <p>
                                    <label>
                                            Prénom :
                                    </label>
                                    <input type="text" title="Entrer le prénom de l'utilisateur" name="modif_firstname" id="form_modif_firstname" /> <span class="obligation"> *</span>
                            </p>
                            <p>
                                    <label>
                                            Login de connexion :
                                    </label>
                                    <input type="text" title="Entrer le login de l'utilisateur" name="modif_login" id="form_modif_login" /> <span class="obligation"> *</span>
                            </p>
                            <p>
                                    <label>
                                            Mot de passe :
                                    </label>
                                    <input type="password" title="Entrer le mot de passe de l'utilisateur" name="modif_password" id="form_modif_password" /> <span class="obligation"> *</span>
                            </p>
                            <p>
                                    <label>
                                            Type d'utilisateur :
                                    </label>
                                    <select name="modif_type_user" id="form_modif_type_user" title="Faite votre choix" size="1">
                                            <!--On rend le premier champ vide -->
                                            <option value="">Type</option>
                                            <% 
                                            //On boucle pour remplir les champs
                                            for (int i=0; i<loadListeTypeUserToAdd.size();i++){
                                            %>
    						<option value="<%=loadListeTypeUserToAdd.get(i).getIdTypeUser()%>"><%=loadListeTypeUserToAdd.get(i).getTypeUser()%></option>
    					<%
                                            }
                                            %>			
    				</select> <span class="obligation"> *</span>
    			</p>
    			<%}>
    Quand tu parles de UserBusiness ce sont les classes Modele ? (MVC) ?

    sinon pour ma partie en bleu du code j'ai essayé, mais ça ne va pas

    tu es sur de ton code, car cela me parais bizarre tu à mis cela <%if (ut != null)%{>
    le % est devant le { et à la fin tu notes <%}> je n'ai jamais vu comme cela et ça ne fonctionne pas

    mais tu à compris l'idée que je veux faire

    encore merci pour votre aide

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2009
    Messages : 132
    Par défaut
    Citation Envoyé par Spiritkill Voir le message
    D'accord, en fait ce que vous voulez c'est l'équivalent en java du "echo" de php.
    Le voila:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <% out.println("j'écris dans la page"); %>
    Est-ce ceci que vous recherchez?
    oui et non

    en réalité oui je veux faire ce principe mais en englobant un bloc de code et ne pas faire cela ligne par ligne

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

Discussions similaires

  1. Afficher / cacher partie d'un formulaire
    Par bob633 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/02/2010, 13h38
  2. Rafraîchir une partie d'un formulaire
    Par KEROZEN dans le forum Access
    Réponses: 17
    Dernier message: 11/05/2006, 14h29
  3. cacher champs d'un formulaire ?
    Par isa150183 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/01/2006, 17h55
  4. Masquer une partie d'un formulaire
    Par crazydiver_e2 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/01/2006, 11h36
  5. Afficher / Cacher une partie d'un formulaire
    Par damjal dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/10/2005, 18h10

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