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

Struts 1 Java Discussion :

Formulaire contenant une date


Sujet :

Struts 1 Java

  1. #1
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Par défaut Formulaire contenant une date
    bonsoir,
    j'ai créer un formulaire qui contient date de naissance et je travaille avec struts (java)
    quon j'envoi mon formulaire pour etre valider j'ai ce message java.lang.IllegalArgumentException: Illegal pattern character 'j'
    je pense que le problème est pour la date car j'utilise date de naissance
    svp aidez moi
    merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public Date getDatenaissance() {
    return datenaissance;
    }
    public void setDatenaissance(String datenaissance) {
    Date d=new Date(datenaissance);
    this.datenaissance =d;
    }
    pour validate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SimpleDateFormat sdf=new SimpleDateFormat("aaaa/mm/jj");
    if(!sdf.format(datenaissance).equals("aaaa/mm/jj")){
    errors.add("errdatenaissance",new ActionError("error.datenaissance.required"));
     
    }

  2. #2
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Par défaut
    j'ai presque trouver la sollution à mon problème mais quand je clique sur le bouton pour ajouter, dans la base de données je trouve quil renvoi une date null

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Par défaut
    salut,
    je sais pas trop si c'est la meilleur solution, en tout cas le fait d'utiliser struts te force d'une maniere ou d'une autre à respecter le modèle-vue-controleur (MVC).
    Donc autant ne pas utiliser de "type" complexe dans ton formulaire c'est à dire que ta date tu devrais la déclarer dans ton form bean comme une simple chaine de caractères (String) avec les getter et setter basics:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private String birthDate;
     
    public String getBirthDate(){
    return this.birthDate;
    }
     
    public void setBirthDate(String birthDate){
    this.birthDate = birthDate;
    }
    Pour la methode validate, tu peux vérifier la date avec le genericValidator de struts:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (! GenericValidator.isDate(birthDate, "dd/MM/yyyy" , true ) ){
    et enfin dans la partie action, dans le cas où tu fait appel à mysql, la date peut être utilisé directement telle-quelle (String), si jamais tu veux retyper ta date, tu peux toujours utiliser le simpleDateFormat.(ton 'null' viens sûrement du fait que tu passe ta date typée en 'Date' au lieu d'une chaine de caractère d'ailleurs).

    ++

  4. #4
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Par défaut
    merci pour ton aide, peut etre que je devrais essayer ton idée,
    je sais exactement comment travailler avec le validator, mais qui cherche trouve
    merci encore
    j'ai un problème meme après avoir mis string,quand j'essaie de l'envoyer vers la basedd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    String dt=((PersonneDForm)form).getDatenaissance();
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    sdf.setLenient(true);
    Date d=new Date();
    d=sdf.parse(dt);
    requête = "insert into personnesdetails(login,datenaissance,tel,email,adresse)" +
    							" values('"+login+"','"+d+"','"+tel+"','"+email+"','"+adresse+"')";
    il envoie un 0000-00-00 et une erreur

Discussions similaires

  1. Type raw contenant une date ?
    Par milka dans le forum Administration
    Réponses: 0
    Dernier message: 02/07/2008, 11h31
  2. [SQL]trier un sous formulaire par une date (par toujours connue)
    Par blin07 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/04/2007, 09h45
  3. tester un controle HTML contenant une date
    Par ahlem_info dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/01/2007, 14h55
  4. Réponses: 2
    Dernier message: 19/04/2006, 11h29
  5. Réponses: 6
    Dernier message: 18/04/2006, 13h11

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