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 :

Probleme avec Rich:calendar


Sujet :

JSF Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Points : 40
    Points
    40
    Par défaut Probleme avec Rich:calendar
    bonjour tout le monde,

    je souhaite lire une date a partir d'un rich:calendar, je souhaite bien savoir le type du champs "value" (java.util.Date ou java.sql.Date ou String ....) que je dois déclarer dans mon EJB entity. Et quel est le format de la date (pattern) dans rich:calendar et dans la propriété de l'EJB pour que la valeur du champs soit convenablement affectée.

    merci d'avance

  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
    Points : 5 059
    Points
    5 059
    Par défaut
    le type est java.util.Date, java.sql.Date étend java.util.Date.

    le pattern, est le pattern commun des dates en java.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Points : 40
    Points
    40
    Par défaut
    Je voulais récupérer la date dans une entité bean (EJB3) dont le code est


    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
    @Name("opconsultation")
    @Scope(ScopeType.SESSION)
    @AutoCreate
     
    public class OpConsultation {
    	private String mode;
    	private  String numdemande;
    	private Integer numdossier;
    	private  Date dateinf;
    	private  Date datesup;
    	public String getNumdemande() {
    		return numdemande;
    	}
    	public void setNumdemande(String numdemande) {
    		this.numdemande = numdemande;
    	}
    	public Integer getNumdossier() {
    		return numdossier;
    	}
    	public void setNumdossier(Integer numdossier) {
    		this.numdossier = numdossier;
    	}
    	public Date getDateinf() {
    		return dateinf;
    	}
    	public void setDateinf(Date dateinf) {
     
    	 this.dateinf =dateinf;
    	}
    	public Date getDatesup() {
    		return datesup;
    	}
    	public void setDatesup(Date datesup) {
    		this.datesup = datesup;
    	}
    	public String getMode() {
    		return mode;
    	}
    	public void setMode(String mode) {
    		this.mode = mode;
    	}
     
    }
    L'appel par JSF de ce bean:

    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
    <h:form>
    <rich:panel>
     
     
     
            <f:facet name="header">Date debut</f:facet>
     
     <rich:calendar id="date_inf"		value="#{opconsultation.dateinf}"
                            locale="fr/FR"
                            popup="true"
                            datePattern="dd/MM/yy"
                            showApplyButton="true" cellWidth="24px" cellHeight="22px" style="width:200px">
     
                            </rich:calendar>
     
     <rich:calendar  id="date_sup"	value="#{opconsultation.datesup}"
                            locale="fr/FR"
                            popup="true"
                            datePattern="yyyy-mm-dd"
                            showApplyButton="true" cellWidth="24px" cellHeight="22px" style="width:200px"/>
     
           <s:decorate id="numDecoration" template="layout/edit.xhtml">
                    <ui:define name="label">Numero dossier</ui:define>
                    <h:inputText id="numdoss" 
                           required="true" value="#{opconsultation.numdossier}">
                            <a4j:support event="onblur" reRender="numDecoration"  ajaxSingle="true"/>
                    </h:inputText>
                </s:decorate>
     
    <div style="clear:both"/>
    </rich:panel>
    <s:div styleClass="actionButtons" >
            <s:button 
                        id="consulter" 
                 action="#{consultation.consulter}"   value="consulter">
     
                </s:button>
        </s:div>
    </h:form>

    Puis, dans la session j'injecte ce bean et moyennant une méthode je voulais afficher dans la console la valeur de la date que j'ai déjà affectée:

    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
    @Stateless
    @Name("consultation")
    @Scope(ScopeType.SESSION)
    public class ConsultationBean implements Consultation {
     
     
    	@PersistenceContext(unitName="base_TTN")
    	EntityManager em;
     
    	@In
    	@Out
    	OpConsultation opconsultation;
    .............................	 
    ....getters and setters
     
    public String consulter(){
     
    		System.out.println("date debut:"+opconsultation.getDateinf());
    		System.out.println("date fin:"+opconsultation.getDatesup());
    ..................
    }
    }
    Le resultat est :
    date debut:null
    date fin:null
    sans aucune erreur lors de l'exécution ni warning.
    Est ce que quelqu'n peut me suggérer comment passer ce problème.
    Je travaille avec Seam2.
    Merci

  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
    Points : 5 059
    Points
    5 059
    Par défaut
    quel est le rapport avec rich:calendar

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public String consulter(){
     
    		System.out.println("date debut:"+opconsultation.getDateinf());
    		System.out.println("date fin:"+opconsultation.getDatesup());
    ..................
    Si c'est null..

  5. #5
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Points : 40
    Points
    40
    Par défaut
    Le rapport c'est que je saisis la date à partir de ma rich:calendar et les valeurs de l'attribut dateinf ou datesup de l'EJB entity OpConsultation qui seront dans le cas normal affecté.
    Et puis grâce au mécanisme d'injection de Seam j'ai voulu visualiser sur la console le resultat de mon affection en injectant ce EJB entity dans un Bean session.Mais je découvre que cette affectation ne s'est pas réalisée probablement du à une incompatibilité de type ou de format de Date (je présume)

  6. #6
    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
    Points : 5 059
    Points
    5 059
    Par défaut
    ok,

    Si tu veux absolument utiliser un bean entity directement dans la page, il te faut ajouter un converter.
    sinon une solution plus propore à mon gout serait de faire un bean qui transforme un ou plusieurs bean Entity en un bean à utiliser par la vue.

  7. #7
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Points : 40
    Points
    40
    Par défaut
    Oui, il me faut utiliser un bean entité pour que je sauvegarde l'état des données (les dates) ou leurs valeurs pour plusieurs appel au serveur,chose qui n'est pas garantie en les insérant directement dans la session surtout dans le cas des EJB stateless. J'essayerais avec des converters, avez vous un lien dans ce contexte sur la manipulation des dates?
    Merci infinement.

  8. #8
    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
    Points : 5 059
    Points
    5 059
    Par défaut
    tu peux consulter la java .

Discussions similaires

  1. Problème avec Rich:Calendar
    Par iviath dans le forum JSF
    Réponses: 1
    Dernier message: 02/01/2009, 18h59
  2. problem avec rich:paint2D
    Par iviath dans le forum JSF
    Réponses: 1
    Dernier message: 20/10/2008, 17h04
  3. Probleme avec <rich:fileUpload>
    Par hibao dans le forum JSF
    Réponses: 10
    Dernier message: 16/10/2008, 12h26
  4. Probleme avec Rich:panelMenu
    Par midos dans le forum JSF
    Réponses: 1
    Dernier message: 08/09/2008, 08h29
  5. Probleme avec rich:fileupload
    Par solarien dans le forum JSF
    Réponses: 6
    Dernier message: 21/08/2008, 17h06

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