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

JSF Java Discussion :

forcer le rafraichissement


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut forcer le rafraichissement
    Hello,

    J'ai dans ma page JSF ajouté la possibilité d'ajouter un élément dans une liste, lorsque l'utilisateur les données sont remplis à partir des données séléctionnés (l'utilisateur modifie ensuite ces données pour qu'elles correspondent aux nouvelles données) -je sais pas si c'est assez clair-

    Tout ce passe bien pour l'ajout qui se fait par le biais de cette méthode

    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
     
    public void addLinkedLocalisation(ActionEvent event) {
    if (mainParcelle != null) {
        Localisation newLocalisation = new Localisation();
        newLocalisation.setAdresse(selectedParcelle.getAdresse());
        newLocalisation.setCoordonneeX(selectedParcelle.getCoordonneeX());
        newLocalisation.setCoordonneeY(selectedParcelle.getCoordonneeY());
        newLocalisation.setLieuDit(selectedParcelle.getLieuDit());
        newLocalisation.setNoDetache(selectedParcelle.getNoDetache());
        newLocalisation.setNoParcelle(selectedParcelle.getNoParcelle());
        newLocalisation.setNoSecteur(selectedParcelle.getNoSecteur());
        newLocalisation.setProvenanceCoordonnees(selectedParcelle.getProvenanceCoordonnees());
      newLocalisation.setSurfaceParcelle(selectedParcelle.getSurfaceParcelle());
      newLocalisation = remoteParcelleDao.save(newLocalisation);
      mainParcelle.getParcellesDetachees().add(newLocalisation);
      remoteParcelleDao.update(mainParcelle);
     List<LocalisationBean> beans = this.rowSelectControllerLocalisation.getLocalisationInventory();
      beans.add(new LocalisationBean(newLocalisation));
      this.rowSelectControllerLocalisation.setLocalisationInventory(beans);
      this.selectedParcelle = mainParcelle;
     }
    }
    A la fin du traîtement je fais un this.selectedParcelle = mainParcelle;
    pour tenter de récupérer les données lors de l ouverture de la page (je cherche à récupérer les données de l'élément séléctionner avant l'ouverture)

    Cependant le formulaire (this.selectedParcelle) contient toujours les données que l'utilisateur vient de rentrer


    Voici le code JSF correspondant

    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
     
    						<ice:panelTab label="Localisation">
    							<ice:panelGrid columns="3">
    								<ice:outputText value="Lieu dit"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.lieuDit}"></ice:inputText>
    								<ice:outputText value=""></ice:outputText>
     
    								<ice:outputText value="Coordonnee x"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.coordonneeX}" id="coordonneeX">
    						            <f:validateLongRange maximum="600000" minimum="530000"/>
             						</ice:inputText>
             						<ice:message style="color: red;" id="coordonneeXError" for="coordonneeX" />
     
    								<ice:outputText value="Coordonnee y"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.coordonneeY}" id="coordonneeY">
    								    <f:validateLongRange maximum="210000" minimum="140000"/>
    								</ice:inputText>
    								<ice:message style="color: red;" id="coordonneeYError" for="coordonneeY"/>
     
    								<ice:outputText value="Provenance coordonnees"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.provenanceCoordonnees}"></ice:inputText>
    								<ice:outputText value=""></ice:outputText>
     
    								<ice:outputText value="No secteur"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.noSecteur}"></ice:inputText>
    								<ice:outputText value=""></ice:outputText>
     
    								<ice:outputText value="No parcelle"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.noParcelle}"></ice:inputText>
    								<ice:outputText value=""></ice:outputText>
     
    								<ice:outputText value="No detache"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.noDetache}"></ice:inputText>
    								<ice:outputText value=""></ice:outputText>
     
    								<ice:outputText value="Surface parcelle"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.surfaceParcelle}"></ice:inputText>
    								<ice:outputText value=""></ice:outputText>
     
    								<ice:outputText value="Rue"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.adresse.rue}"></ice:inputText>
    								<ice:outputText value=""></ice:outputText>
     
    								<ice:outputText value="No de rue"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.adresse.noDeRue}"></ice:inputText>
    								<ice:outputText value=""></ice:outputText>
     
    								<ice:outputText value="No postal"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.adresse.npa}"></ice:inputText>
    								<ice:outputText value=""></ice:outputText>
     
    								<ice:outputText value="Localite"></ice:outputText>
    								<ice:inputText value="#{sessionBean.selectedParcelle.adresse.localite}"></ice:inputText>
    								<ice:outputText value=""></ice:outputText>
     
    								<ice:outputText value="Parcelle liees"></ice:outputText>
    								<ice:dataTable id="localisation" var="localisation"
    									value="#{rowSelectControllerLocalisation.localisationInventory}"
    									rows="20" 
    									border="2">
    									<ice:column>
    										<f:facet name="header">
    											<ice:outputText value="Id de la localisation" />
    										</f:facet>
    										<ice:rowSelector value="#{localisation.selected}"
    											selectionListener="#{rowSelectControllerLocalisation.rowSelectionListener}" />
    										<ice:outputText value="#{localisation.localisation.id}" />
    									</ice:column>
    									<ice:column>
    										<f:facet name="header">
    											<ice:outputText value="Lieu dit" />
    										</f:facet>
    										<ice:outputText value="#{localisation.localisation.lieuDit}" />
    									</ice:column>
    									<ice:column>
    										<f:facet name="header">
    											<ice:outputText value="Coordonee X" />
    										</f:facet>
    										<ice:outputText value="#{localisation.localisation.coordonneeX}" />
    									</ice:column>
    									<ice:column>
    										<f:facet name="header">
    											<ice:outputText value="Coordonee Y" />
    										</f:facet>
    										<ice:outputText value="#{localisation.localisation.coordonneeY}" />
    									</ice:column>
    								</ice:dataTable>
    								<ice:commandButton id="buttonAddLocalisation" value="Ajouter une parcelle liee"	actionListener="#{sessionBean.addLinkedLocalisation}" />
     
    								<ice:outputLabel for="">&nbsp;</ice:outputLabel>
    								<ice:outputLabel for="">&nbsp;</ice:outputLabel>
    								<ice:outputLabel for="">&nbsp;</ice:outputLabel>
    								<ice:outputLabel for="">&nbsp;</ice:outputLabel>
    							</ice:panelGrid>
    						</ice:panelTab>

  2. #2
    Membre éclairé Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Par défaut
    bonjour j'espère ne pas me tromper.
    Suivant le choix du client sur une liste, tu veus proposer une liste adapté.
    Il y a une petite astuce c'est d'utiliser Ajax. C'est du javascript qui va solliciter coté serveur une requette sql en rapport au choix du client. ET ca se fait de facnon invisible.
    http://siddh.developpez.com/articles/ajax/

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    en fait il fallait tout simplement faire une copie de l'ancien élément et de le setter

    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
     
    this.selectedParcelle =  getLocalisationCopy (mainParcelle);
    ..
    	/**
             * Copy the values of the current localisation
             */
    	private Localisation getLocalisationCopy(Localisation localisation) {
    		Localisation newLocalisation = new Localisation();
    		newLocalisation.setId(localisation.getId());
    		newLocalisation.setAdresse(localisation.getAdresse());
    		newLocalisation.setCoordonneeX(localisation.getCoordonneeX());
    		newLocalisation.setCoordonneeY(localisation.getCoordonneeY());
    		newLocalisation.setLieuDit(localisation.getLieuDit());
    		newLocalisation.setNoDetache(localisation.getNoDetache());
    		newLocalisation.setNoParcelle(localisation.getNoParcelle());
    		newLocalisation.setNoSecteur(localisation.getNoSecteur());
    		newLocalisation.setProvenanceCoordonnees(localisation.getProvenanceCoordonnees());
    		newLocalisation.setSurfaceParcelle(localisation.getSurfaceParcelle());
    		newLocalisation.setParcellesDetachees(localisation.getParcellesDetachees());
    		return newLocalisation;
    	}

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

Discussions similaires

  1. forcer un rafraichissement ecran
    Par john123 dans le forum Composants
    Réponses: 1
    Dernier message: 19/07/2007, 14h54
  2. [SERVLET] Forcer le rafraichissement d'une servlet
    Par Finrod dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 03/05/2007, 11h03
  3. Réponses: 4
    Dernier message: 08/10/2006, 15h16
  4. [MFC] CDialog -> forcer le rafraichissement
    Par Rafoo dans le forum MFC
    Réponses: 3
    Dernier message: 05/09/2006, 16h51
  5. [JPanel] Forcer le rafraichissement d'un sous panel
    Par tomca dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 18/05/2005, 16h49

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