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 :

MyFaces InputDate problème


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut MyFaces InputDate problème
    Bonjour,
    Je bosse avec JDev 10.1.3.3. J'ai mis en place le composant de MyFaces "inputdate" avec le popup calendar et cela marche bien. Mais je souhaiterais recuperer cette date pour en faire un traitement avec un submi_button...mais je n'ai aucune idée comment faire ? Je n'ai pas trouvé d'aide sur le site de MyFaces....

    Merci de votre aide
    code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <t:inputDate style="border: 1px solid grey;"
                                    id="eventdate"
                                    popupCalendar="true"
                                    ampm="true"
                                    value="#{bkdata.data}"
                                    binding="#{bkapp.eventdate}">
                    </t:inputDate>

  2. #2
    Membre chevronné

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Par défaut
    Salut mihaestii,

    Dans ton bean "bkapp" tu dois avoir défini un getter et un setter pour ton attribut "eventdate". De là si tu fais this.getEventdate().getValue, quelle est la valeur renvoyée? Sinon il faut peut etre passer par un toString(), puis un new Date()?

    Bon courage,
    Tif

    PS: le "selectInputDate" d'ADF ne te plaisait pas?

  3. #3
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 42
    Par défaut
    Moi je pense qu'il faut que tu fasses un bouton appelant ta methode:

    <h:commandButton action="#{bkapp.taMethode}" />

    et dans ton code java tu devrais avoir accès à la date en faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private HtmlInputDate eventdate;
    ...
     
    public Date maDate;
    ...
     
    public void taMethode( ){
     
    maDate = (Date)eventdate.getValue();
     
    ...
    }
    (j'imagine que tu bind bien eventdate à un objet de type HtmlInputDate)

    Mais je suis pas sûr que c'était bien ça ton problème.

  4. #4
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut
    mmhh non je n'ai rien contre le ADF Faces TIFéç; mais je suis tombé par hazard sur ce composant de MyFaces et j'ai souhaité essayer...par contre si tu peux me dire comment on fait pour le SelectiInpuDate de ADF ca serait super!Chez moi il affiche un date "20/08/2007"...comment peut on passer la date en format francais ???

    je vais aussi essayer la methode de Gumpy!

    merci beaucoup

  5. #5
    Membre chevronné

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Par défaut
    Oui, effectivement je n'ai pas préciser qu'il faut appeler ta fonction pour qu'elle s'execute...

    Sinon pour la conversion c'est toujours un peu lourd mais il faut passer par un format. Par contre le format "20/08/2007" est un format français donc je vois pas bien en quoi tu veux le modifier (en fait par défaut ADF consulte le langage locale utilisé et affiche en fonction)?

    Code java : 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
     
        private SimpleDateFormat myDateFormat = new SimpleDateFormat("dd/MM/yyyy"); // Pas besoin de getter et setter pour cet attribut
        private CoreSelectInputDate selectInputDate;
        private CoreOutputText maDateOuputText;
     
     
        public void setSelectInputDate(CoreSelectInputDate selectInputDate) {
            this.selectInputDate = selectInputDate;
        }
        public CoreSelectInputDate getSelectInputDate() {
            return selectInputDate;
        }
        public void setMaDateOuputText(CoreOutputText maDateOuputText) {
            this.maDateOuputText = maDateOuputText;
        }
        public CoreOutputText getMaDateOuputText() {
            return maDateOuputText;
        }
     
        public String selectTheDate() {
            if (this.getSelectInputDate().getValue()!=null) { // Teste si l'utilisateur a bien saisie quelquechose dans le champ date
                this.getMaDateOuputText().setValue(myDateFormat.format(this.getSelectInputDate().getValue()));
                return switchBtwStep1AndStep2(); // me permet de redéfinir mon affichage une fois la date choisie
            }else{ // Si l'utilisateur n'a pas entré de date
            FacesContext fctx = FacesContext.getCurrentInstance();
            FacesMessage fm = 
                new FacesMessage(FacesMessage.SEVERITY_INFO, "Please select a Date", 
                                 null);
            fctx.addMessage("MyValueChangeListener", fm);
            return null;
            }
        }

    Voila j'espère que ça répond à ta question,
    Bon courage,
    Tif

  6. #6
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut
    c'est bon merci à vous deux; je vais finalement utiliser le composant ADF.
    Encore une petite question avant de clore le sujet; mon browser est preconfiguré en anglais donc le date a le format 08/20/2007. J'ai une fonction pour la formater et l'utiliser comme je veux mais je souhaiterais la voir en format francais dès l'affichage de la page; je n'ai pas trouvé d'option dans le composant SelectInputDate de ADF pour selectionner le format...savez vous comment faire ?

  7. #7
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 42
    Par défaut
    Je suis plutôt novice dans ce domaine, mais regarde du côté de java.util.locale dans la javadoc, je pense que la réponse t'y attend.

  8. #8
    Membre chevronné

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Par défaut
    Tu peux forcer une page (ou toute ton appli) a utiliser préférentiellement une "locale" (ici il te faut "fr").

    Pour le faire sur une page, depuis Jdev dans la fenetre de "Structure" de ta page, trouve le composant "f:view" (en esperant que tu utilise celui la). Il devrait etre quasiment à la racine de ta page. Dans le "Property Inspector" il te propose l'attribut "locale" que tu peux donc fixer à "fr" (ATTENTION, je ne l'ai pas testé).

    Sinon il doit aussi y avoir le moyen de le faire pour l'appli entière: http://www.oracle.com/global/il/supp...nlss11061.html et tu peux trouver d'autres sources en cherchant autour du mot clé "locale": http://www.developpez.net/forums/showthread.php?t=51148

    Dis nous si tu as trouvé et comment faire ça pourrai servir à d'autres, merci
    Bon courage,
    Tif

  9. #9
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 42
    Par défaut
    Ah oui ça marche bien Tif

    Ca va bien me servir quand je vais commencer à coder des appli multi-langues.

Discussions similaires

  1. Problème d'installation de MyFaces
    Par amnass dans le forum JSF
    Réponses: 1
    Dernier message: 25/07/2009, 11h14
  2. problème avec <t:inputdate>
    Par woumps dans le forum JSF
    Réponses: 1
    Dernier message: 08/04/2009, 16h39
  3. Réponses: 0
    Dernier message: 13/02/2009, 11h14
  4. [MyFaces-Eclipse] Problème de configuration
    Par Erebe dans le forum JSF
    Réponses: 4
    Dernier message: 05/12/2007, 11h09
  5. Réponses: 1
    Dernier message: 19/12/2006, 09h23

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