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 :

Rafraichir page JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut Rafraichir page JSP
    Bonjour,

    Merci d'avance de votre aide.

    J'aimerai savoir si vous savez comment rafraichir une page JSP.
    Je m'explique, dans mon application j'ai une page avec des champs, je rempli ses champs la première fois, puis je vais sur une autre page et ensuite je reviens sur cette page et les champs sont toujours rempli hors j'aimerai qu'ils soient vides.
    Pouvez vous m'aider merci.

    Bonne journée.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Salut,

    Tu entends exactement quoi par
    ensuite je reviens sur cette page
    ?
    Tu fais un back sur ton navigateur ?

    Si tu as le prob lorsque tu accèdes à la page depuis l'url d'origine,c'est peut etre parce que les données que tu utilises pour afficher tes champs sont stockées en scope session.
    Si c'est le cas, il faudrait peut etre penser à les mettre en scope request si tu en as besoin que sur la page ou tu les affiches. Sinon, il faut supprimer ces données de la session avant l'affichage du formulaire.
    Ils flottent tous en bas

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut
    En fait je navigue dans mon application, ce que je voudrais c'est quand j'arrive sur une page tous les champs de saisie soient vide meme si avant j'ai saisi quelque chose.

    exemple: page1 je saisi des choses dans les champs de saisie (Nom, prénom,...)
    ensuite je vais page 2, puis je reviens page1 et les les champs nom , prénom sont remplis avec les choses précédament saisie.

    Merci de ton aide.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Pourquoi ne met tu pas à zero les objets java mappés à tes champs de formulaire au chargement de ta jsp ?

    Si tu y arrives pas, montre nous ta jsp (et servlet si tu en as),ca nous aidera à mieux comprendre le contexte java derrière.
    Ils flottent tous en bas

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut
    "Pourquoi ne met tu pas à zero les objets java mappés à tes champs de formulaire au chargement de ta jsp ?"

    Comment fait tu cela ?

    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
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
     
    <!-- Import nécessaire -->
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
     
    <%@ taglib prefix="a4j" uri="http://richfaces.org/a4j" %>
    <%@ taglib prefix="rich" uri="http://richfaces.org/rich" %>
    <%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
    <%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <meta http-equiv="Content-Style-Type" content="text/css" />
        <link rel="stylesheet" type="text/css" href="css.css" />
     
    	<!-- Titre en haut de la page -->
    	<title>THOT : Gate1</title>
     
    </head>
    <body>
    <f:view>
    <!-- L'en-tête -->
        <div id="logoThales" ></div>
    	    <div id="entete">
    	      <strong class="important">TH</strong>alès <strong class="important">O</strong>util de sous-<strong class="important">T</strong>raitance <img src="img/thot.jpg" style="position:absolute;top:5px;left:1050px;" width=35 height=7%>
    	    </div>
     
         <!-- Partie connexion avec la date -->
        <div id="connexion">
    	    <h:form>
    	       <strong><h:outputText value="#{connexionBean.utilisateur.nom}" /><rich:spacer width="5" /><h:outputText value="#{connexionBean.utilisateur.prenom}" /> | <h:outputLink value="modifierCompte.jsf"><h:outputText value="Compte" /></h:outputLink> | <h:commandLink action="#{connexionBean.deconnexion}" immediate="true" value="Déconnexion" /> | <script type="text/javascript" src="date.js"></script></strong>
    		</h:form>
        </div>
     
        <!-- Le menu -->
        <div id="menu">
        	<f:subview id="menuSub">
    			<%@include file="menu.jsp" %>
    		</f:subview>
        </div>
     
    	  <!-- Le corps -->
    	    <div id="action">
    	    </div>
    	    <div id="corps">
    			<div id="Gate1">
     
    				<!-- Titre de la page -->
    				<h2>Gate 1</h2>
     
    				<!-- Espace de 10px entre le titre et le formulaire -->
    				<rich:spacer height="10px" />					 
     
    				<!--<rich:panel  header="Gate 1" style="margin-left:0px;background-color:#ffffff;width:900px;" >-->
     
    				<!-- Début du formulaire -->
    				<h:form id="BesoinForm">	
     
     
     
    					<h:outputLabel><font><h:outputText value="Affaire : "/></font></h:outputLabel>
     
    					<!-- Choisir une affaire dans la liste déroulante -->
    					<h:selectOneMenu id="affaire" value="#{Gate1Bean.idAffaire}" >
    						<f:selectItems value="#{Gate1Bean.listAffaire}" />
    						<a4j:support event="onchange" actionListener="#{Gate1Bean.affaireByID}" reRender="projet" />
    					</h:selectOneMenu>
     
     
    					<h:outputLabel><font><h:outputText value="Sous-ensemble : "/></font></h:outputLabel>
     
    					<h:selectOneMenu id="projet" value="#{Gate1Bean.idProjet}" >
    						<f:selectItem itemValue="0" itemLabel="Choisir un projet"/>
    						<f:selectItems  value="#{Gate1Bean.listProjettrie}"/>	
    						<a4j:support event="onchange" actionListener="#{Gate1Bean.projetByID}" reRender="besoinSelectMenu" />					
    					</h:selectOneMenu>	
     
    					<h:outputLabel><font><h:outputText value="Selection du Besoin : "/></font></h:outputLabel>
    					<h:selectOneMenu id="besoinSelectMenu" value="#{Gate1Bean.id}" converter="javax.faces.Integer">
    						<f:selectItem itemValue="0" itemLabel="Choisir un besoin"/>
    						<f:selectItems value="#{Gate1Bean.listBesointrie}" />
    						<a4j:support event="onchange" actionListener="#{Gate1Bean.besoinByID}" reRender="tableFournisseur,dateRAO,dateURM,validationGate,dateGate1" />
    					</h:selectOneMenu>
    					<h:message showDetail="true" style="color: red; text-decoration: none;" id="messageBesoin" for="besoinSelectMenu" />
    					<!--<h:outputText id="sow" value="#{Gate1Bean.besoin.sow.numSOW}"/>-->
    					<rich:spacer height="30px" />
     
    				<hr>
     
    					<!--<rich:panel id="valueBesoin"  style="background-color:#ffffff;">-->
    					<h:panelGrid columns="3" >
     
    							<!-- Date URM   -->
    							<h:outputLabel><font><h:outputText value="Date URM demandée: "/></font></h:outputLabel>
    							<rich:calendar enableManualInput="true" id="dateURM" datePattern="dd/MM/yyyy" value="#{Gate1Bean.besoin.dateurm}" />
    							<h:message  style="color: red; text-decoration: none;" for="dateURM" />
    							<!-- Fin Date URM -->
     
    							<!-- Date RAO   -->
    							<h:outputLabel><font><h:outputText value="Date Remise d'appel d'offre demandée : "/></font></h:outputLabel>
    							<rich:calendar enableManualInput="true" id="dateRAO" datePattern="dd/MM/yyyy" value="#{Gate1Bean.besoin.daterao}" />
    							<h:message  style="color: red; text-decoration: none;" for="dateRAO" />
    							<!-- Fin Date RAO 
     
    							<!-- Code pour joindre un PVET   -->
    							<h:outputLabel><font><h:outputText value="PVET : "/></font></h:outputLabel>
    							<h:commandButton id="ajouterPJ" action="#{Gate1Bean.upload}" value="Upload" /> 
    							<h:commandButton value="Download" action="#{Gate1Bean.doTestStream}"/>
    							<h:message  style="color: red; text-decoration: none;" for="ajouterPJ" />
    							<!-- Fin code pour joindre un PVET   -->
     
    					</h:panelGrid>	
     
    				<hr>
     
    					<h:panelGrid columns="5" >							
    							<!-- Code des Fournisseurs consultés   -->
    							<h:outputLabel><font><h:outputText value="Fournisseurs consultés :"/></font></h:outputLabel>
    								<h:selectOneMenu id="fournisseurListe" value="#{Gate1Bean.idFournisseur}" >
    									<f:selectItem itemLabel="Choisir un fournisseur" itemValue="0"  />
    									<f:selectItems value="#{Gate1Bean.listFournisseur}" />
    								</h:selectOneMenu>
    								<a4j:commandButton id="CBAjouterfournisseur" action="#{Gate1Bean.ajouterFourn}" value="Ajouter fournisseur" reRender="tableFournisseur"/>
    								<a4j:commandButton id="CBSupprimerfournisseur" action="#{Gate1Bean.supprimerFourn}" value="Supprimer dernier fournisseur" reRender="tableFournisseur"/>
    								<a4j:commandButton id="CBViderlistefournisseur" action="#{Gate1Bean.viderFourn}" value="Vider table" reRender="tableFournisseur"/>
    					</h:panelGrid>	
     
    							<!-- Tableau -->
    					<rich:scrollableDataTable value="#{Gate1Bean.fournisseurConsulte}"
    						              		var="fournisseurConsulte"
    						              		id="tableFournisseur"
    						              		width="150px"
    						              		height="150px">
     
    						<rich:column width="150px">
    							<f:facet name="header">
    									<h:outputText value="Nom fournisseur" />
    							</f:facet>
    							<h:outputText value="#{fournisseurConsulte.id.fournisseur.nom}" />
    						</rich:column>
     
    					</rich:scrollableDataTable>
    					<!-- Fin du tableau -->	
     
     
    				<hr>
     
    							<h:outputLabel><font><h:outputText value="Validation de la Gate 1 : "/></font></h:outputLabel>
    							<h:selectBooleanCheckbox  id="validationGate" value="#{Gate1Bean.validationGate}" immediate="true" onclick="submit()" valueChangeListener="#{Gate1Bean.onIsDetailsChange}" title = "cliquez dessus pour sélectionner ou désélectionnez "/>
    							<h:message  style="color: green; text-decoration: none;" for="validationGate" />
     
    							<!-- Date Gate1 : Par defaut c'est la date du jour, elle est modifiable par l'utilisateur  -->
    							<h:outputLabel><font><h:outputText value="Date Gate 1 : "  rendered="#{Gate1Bean.validationGate}"/></font></h:outputLabel>
    							<rich:calendar enableManualInput="true" id="dateGate1" datePattern="dd/MM/yyyy" value="#{Gate1Bean.besoin.dategate1}" rendered="#{Gate1Bean.validationGate}"/>
    							<h:message  style="color: red; text-decoration: none;" for="dateGate1" />
    							<!-- Fin Date Gate1 -->
     
     
    					<h:message showDetail="true" style="color: red; text-decoration: none;margin-left:100px;" id="registerError" for="cBValider"/><br />
     
    					<rich:spacer height="50" />
    					<h:panelGroup style="margin-left:160px;">
    						<h:commandButton id="cBValider" action="#{Gate1Bean.valider}"   value="OK" /><rich:spacer width="10px" />
    						<a4j:commandButton action="#{Gate1Bean.annuler}" value="Annuler" reRender="BesoinForm"/>
    					</h:panelGroup>	
    				<!--</rich:panel>-->
     
    			</h:form>
    		<!--</rich:panel>-->
     
     
    				<rich:spacer height="50" />
    	  		</div>
    	    </div>
    	    <div id="footer">
    	      <hr />
    	      &copy;  r&eacute;serv&eacute;s
    	    </div>
    </f:view>
    	</body>
    </html>

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    "Pourquoi ne met tu pas à zero les objets java mappés à tes champs de formulaire au chargement de ta jsp ?"

    Comment fait tu cela ?
    C'est utile si le bean java qui mappe les champs de ton formulaire est en scope session et ça c'est un cas particulier.

    Ici tu mappes la sélection du projet vraisemblablement à un champ idProjet qui se trouve dans ton bean Gate1Bean.

    <h:selectOneMenu id="projet" value="#{Gate1Bean.idProjet}" >
    <f:selectItem itemValue="0" itemLabel="Choisir un projet"/>
    <f:selectItems value="#{Gate1Bean.listProjettrie}"/>
    <a4j:support event="onchange" actionListener="#{Gate1Bean.projetByID}"
    reRender="besoinSelectMenu" />
    </h:selectOneMenu>
    Gate1Bean est déclaré en quel scope ? Request, Session ?

    Si il est en scope session, le comportement normal que tu as est normal.
    Si il est en scope request, je ne comprend pas trop.
    Ils flottent tous en bas

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut
    En session

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut
    Comment met tu à zero les objets java mappés à des champs de formulaire au chargement de ta jsp.

    Merci pour ta réponse, car je ne sais pas comment faire.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Comment met tu à zero les objets java mappés à des champs de formulaire au chargement de ta jsp.

    Merci pour ta réponse, car je ne sais pas comment faire.
    Soit tu met ton bean en scope request au lieu de session et c'est réglé.

    Si tu tiens vraiment à garder ton bean en session, en Jsf, nettoyer à partir de la vue même je ne vois pas trop à part des bidouilles vu que tu passes par l'action seulement après être passé par la vue.
    Le solution serait de nettoyer le bean dans une autre action qui invalide les données du formulaire se trouvant dans la session.
    Ils flottent tous en bas

  10. #10
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut
    Quelle est différence entre request et session s'il te plaît?

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Request : ton bean conserve son état la durée d'une requête http.
    Session : ton bean conserve son état la durée de toute la session de la connexion du client.
    Voila pourquoi les données de ton formulaire persistent si ton bean est en scope session.
    Ils flottent tous en bas

  12. #12
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut
    Merci pour ta réponse

  13. #13
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut
    Saurais tu par hasard comment ré-initialiser un bean en mettant du code java dans ma page jsp.

    Merci encore pour l'aide apporté

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Pas de souci

    Ca s'appelle des scriptlets. C'est pas conseillé mais rien t'interdit d'essayer.

    JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <% 
    MonBean monBean = (MonBean)request.getAttribute("monBean");
    // Tu fais tes traitements sur ton bean
    %>
    Ton bean doit etre accessible depuis la jsp. On utilise généralement les attributs de la request pour mettre des objets dans la requete http.
    C'est ce que j'ai fait dans l'exemple. tu dois donc au préalable le mettre dans ta request côté traitement serveur avant de rendre la jsp.

    JAVA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    requestHttp.setAttribute("monBean",monBean);
    Ils flottent tous en bas

  15. #15
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut
    Merci de ta réponse je l'essaye demain, car là je pars du boulot.
    Te dis demain matin si çà marche comme cela je pourrais mettre Résolu.

    Merci encore de m'avoir aidé durant cette journée.
    Bonne soirée à toi.

  16. #16
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut
    Pourrais tu être plus précis dans ta réponse car je n'arrive pas à mettre en place ta solution.

    Merci.

  17. #17
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Je pense que le problème vient surtout de fait que tu as mal choisi ton scope pour ce bean.
    Rien ne justifie le scope session alors pourquoi ne pas simplement le mettre en scope request ?

    Ceci dit, dans tous les cas, si tu utilises un "back" du navigateur, tu auras tes données précédemment saisies...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  18. #18
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut
    Merci de ta réponse mais je suis obligé d'utilisé session sinon j'ai une erreur.

    Personne ne peut m'expliqué un peu plus la réponse de "thebloodyman" car je n'arrive pas à l'utilisé.

    S'il vous plait.

    Merci d'avance de votre aide.

  19. #19
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 74
    Points : 15
    Points
    15
    Par défaut
    Personne ne peux m'aider.

    S'il vous plaît c'est important.

    Merci par avance pour votre aide.

  20. #20
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Il faut connaître le nom sous lequel est enregistré ton bean (normalement, ce devrait être spécifié dans le fichier de paramétrage de jsf).
    Ensuite, tu peux récupérer le bean par scriptlet ou en ré-enregistrer un sous le même nom (ce qui écrasera l'ancien).
    En supposant que ton bean soit enregistré sous Gate1Bean, ce code dans la JSP devrait faire l'affaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <%
    session.setAttribute("Gate1Bean", new Gate1Bean());
    %>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/06/2011, 16h05
  2. Rafraichir une page JSP incluse
    Par trin86 dans le forum JSF
    Réponses: 10
    Dernier message: 24/12/2009, 13h09
  3. rafraichir une page jsp
    Par ahmed_rabat dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 04/08/2009, 11h25
  4. comment rafraichir une page jsp
    Par MSM_007 dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 08/08/2006, 12h30
  5. [Débutant] Problème de déconnexion d'une page JSP
    Par amal9 dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 22/01/2004, 13h40

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