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 :

[Struts][Conseil] type de champs ActionForm


Sujet :

Struts 1 Java

  1. #1
    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 [Struts][Conseil] type de champs ActionForm
    Bonjour,

    Je reprends une application développée en Struts, tous les champs de bean existants sont en String.

    Je dois utiliser des dates, des entiers, pour les date je garde le champ en String et je traite la validité de la date.

    Ma question concerne les types entiers et boolean. Est-il mieux de garder le type primitif de base de la propriété ou je fais comme ce qui se fait dans l'application : mettre tout en String ?

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Euh, dans les beans, tu utilises bien ce que tu veux.

    Dans les ActionForm, mieux vaux se limiter aux Strings, boolean et int. Je n'ai aucun problèmes avec ceux la.... (et leurs tableaux bien entendu)

  3. #3
    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
    Citation Envoyé par denisC
    Euh, dans les beans, tu utilises bien ce que tu veux.
    Je parle des ActionForm aussi, mais ActionForm est un bean

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    En fait le mieux est d utiliser des types primitifs ou bien de redefinir la methode toString de tes objets pour l affichage, en effet pour afficher les valeurs des formulaires, Struts applique la methode toString de l objet auquel est associe le champs dans le formbean

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  5. #5
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    ActionForm est un bean, mais un bean n'est pas un ActionForm

    Effectivement, les types primitifs sont les seuls valables pour un ActionForm. Et dans un bean métier, tu mets bien ce que tu veux. (y compris des Date). Mais si tu mets un Date dans ton ActionForm, tu vas être embetté pour tout ce qui est du parsage des dates et tout ça.....
    Donc laisses des types primitifs dans les ActionForms.

  6. #6
    Membre régulier
    Inscrit en
    Octobre 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 93
    Points : 86
    Points
    86
    Par défaut
    Il est recommandé de ne mettre que des Strings dans les ActionForm et d'effectuer la conversion lors de la transmission des informations au métier. Ceci pour une raison simple : si tu mets un champ de type int ds lActionForm, alors si l'utilisateur saisit une valeur alphanumérique dans ce champ tu récupèreras un 0 au niveau de ton ActionForm, alors que si tu avais spécifié un type String pour le champ en question tu aurais récupéré la valeur saisie par l'utilisateur.

    Le problème d'utiliser int par exemple est donc que tu ne peux pas faire la distinction entre une saisie érronée de l'utilisateur et une saisie de la valeur 0.

    Si cela ne te pose pas de problèmes alors tu peux mettre d'autres types primitifs que String dans ton ActionForm.

    ++

  7. #7
    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
    Merci à tous..
    je vais utilisé un int pour tester .. Sinon que des String pour tous les champs!

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Salut


    Je me permet de upper ce topic car j'ai justement un problème au niveau des champs d'un ActionForm.

    J'essai d'avoir un champ de type java.util.Date dans un ActionForm. Mon problème c'est que j'obtiens des erreurs de la part de beans utils converters car il n'arrive pas à convertir l'entrée de mon formulaire en champ de type Date.

    Avez vous des exemples de code à ce sujet?

    PS : j'ai essayé de faire en dehors de Struts des tests de conversion String => Date en utilisant beanutils mais j'y arrive pas non plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
                String strDate = DateFormat.getInstance().format( new Date() );
                logger.debug( "strDate = " + strDate );
                StringConverter convertor = new StringConverter();
                try {
    	            Date myDateConvertie = (Date)convertor.convert( Date.class, strDate );
    	            logger.debug( "Ma date convertie : " + myDateConvertie.toString() );
                }
                catch ( Exception e ) {
                	logger.error( "Erreur lors de la conversion : " + e.getLocalizedMessage() );
                }

  9. #9
    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
    salut,

    le mieux est de passer le champ de ton formulaire en string et le convertir après lors d'une utilisation!

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Sniper37
    salut,

    le mieux est de passer le champ de ton formulaire en string et le convertir après lors d'une utilisation!
    Oui je m'en rend compte. Mon problème c'est que j'avais déjà tout fait en utilisant des champs Date au niveau des ActionForms. Je me rend compte seulement maintenant que ça pose problème.
    Je préfèrerai réussir à faire fonctionner correctement avec le type Date.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Un petit UP :s

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

Discussions similaires

  1. Changement type de champ: ORA-01439
    Par PATMOR dans le forum Oracle
    Réponses: 8
    Dernier message: 12/02/2005, 16h14
  2. [Oracle][Delphi 7] Problème type de champ
    Par tiennos dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/07/2004, 10h17
  3. [struts]Nom d'un champ
    Par GreenJay dans le forum Struts 1
    Réponses: 4
    Dernier message: 03/06/2004, 16h50
  4. [Struts] Pbms de références - champ jsessionid
    Par PeteMitchell dans le forum Struts 1
    Réponses: 14
    Dernier message: 13/04/2004, 15h02
  5. [ADO] Constantes des types de champ
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/09/2002, 11h08

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