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 :

Rafraichir une page


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut Rafraichir une page
    bonjour,

    J'ai un formulaire avec un choix de radio bouton:
    1. mise a jour immédiate (bouton par défaut)
    2. mise a jour différée

    Je souhaite que quand l'utilisateur selectionne le deuxième bouton un inputest et deux listes affichent lui permettant d'indiquer la date et l'heure de la mise a jour. Voici se que j'ai fait pour cela :

    Dans ma 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
     
    <h:panelGroup>
                                        <h:outputText value="#{bundle.synchronization_kindSending}"/>
                                        <h:selectOneRadio value="#{Synchronization_1.kindSendingSelected}">
                                            <f:selectItems value="#{Synchronization_1.kindSendingOptions}"/>
                                        </h:selectOneRadio>
     
                                        <h:panelGroup rendered="#{Synchronization_1.kindSendingSelected != '0'}">
                                            <h:outputText value="#{bundle.synchronization_kindSending_date}"/>
                                            <h:inputText value="#{Synchronization.dateSelected}"/>
     
                                            <h:outputText value="#{bundle.synchronization_kindSending_hour}"/>
                                            <h:selectOneMenu value="#{Synchronization_1.hoursSelected}">
                                                <f:selectItems value="#{Synchronization_1.hoursOptions}"/>
                                            </h:selectOneMenu>
     
                                            <h:outputText value=" : "/>
                                            <h:selectOneMenu value="#{Synchronization_1.minutesSelected}">
                                                <f:selectItems value="#{Synchronization_1.minutesOptions}"/>
                                            </h:selectOneMenu> 
                                        </h:panelGroup>
                                    </h:panelGroup>
    Mon problème c'est que quand je selectionne le bouton "différé" la page n'est pas mise a jour et donc mon panelGroup sur lequell est posé le rendered ne s'affiche pas. quelqu'un connait une facon de rafraichir ma page (si possible sans utiliser de javascript)

    Merci de votre aide,

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    tu peux utiliser un timer javascript, mais le mieux c'est d'utiliser ajax, richfaces propose des composants pour faire ce genre de choses..

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut
    Un timer en javascript? (désolée mais je ne connais pas le javascript et je préférerai l'éviter)
    Mais pourrais tu explicer un peu plus cette solution (dans le cas où c'est la seule)

    On m'a demandé d'inclure aucune librarie. Je dois tout faire avec les éléments de base. Il n'y a pas une fonction qui permet de faire un refresh depuis le backing bean ?

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par Edta Voir le message
    Un timer en javascript? (désolée mais je ne connais pas le javascript et je préférerai l'éviter)
    Mais pourrais tu explicer un peu plus cette solution (dans le cas où c'est la seule)

    On m'a demandé d'inclure aucune librarie. Je dois tout faire avec les éléments de base. Il n'y a pas une fonction qui permet de faire un refresh depuis le backing bean ?
    moi non plus, le javascript et moi ça fait plus que 2 ..
    il doit y'avoir une fonction javscript qui envoi le formulaire dans un intervalle de temps donné, si tu ne peux pas utiliser richfaces, et que le jaavscript est ton dernier recours, pose la question dans le forum javascript..

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Par défaut
    Pour remettre à jour une page, il faut faire envoyer les données du formulaire pour que le serveur rejoue la page avec les nouvelles valeurs.

    avec le code onchange="submit();" (JavaScript interprété par le navigateur web)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:outputText value="#{bundle.synchronization_kindSending}"/>
    <h:selectOneRadio value="#{Synchronization_1.kindSendingSelected}" onchange="submit();">
        <f:selectItems value="#{Synchronization_1.kindSendingOptions}"/>
    </h:selectOneRadio>
    Pour que cela fonctionne il faut que le code JSF soit dans un formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <f:view>
        <h:form id="form">
            ....
     
            <h:outputText value="#{bundle.synchronization_kindSending}"/>
            <h:selectOneRadio value="#{Synchronization_1.kindSendingSelected}" onchange="submit();">
                <f:selectItems value="#{Synchronization_1.kindSendingOptions}"/>
            </h:selectOneRadio>
     
            ....
        </h:form>
    </f:view>

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut
    Effectivement cela fonctionne tres bien . Merci

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

Discussions similaires

  1. [VB.Net] Comment rafraichir une page aspx ?
    Par bisounux dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/02/2006, 11h25
  2. Rafraichir une page
    Par ghost942 dans le forum Langage
    Réponses: 5
    Dernier message: 03/01/2006, 17h32
  3. [VBNET] Rafraichir une page WEB distante (par IE)
    Par onipif dans le forum VB.NET
    Réponses: 7
    Dernier message: 22/11/2005, 18h59
  4. [Rafraichir] Rafraichir une page sans perdre mes champs
    Par ozzmax dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/11/2005, 17h54
  5. [jsp]rafraichir une page
    Par GreenJay dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 21/07/2004, 14h41

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