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] reset dans une ActionForm avec des int


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut [Struts] reset dans une ActionForm avec des int
    Bonjour,
    J'ai une classe SearchForm qui étends ActionForm.
    Dans cette classe, j'ai des "int". Quand j'execute la méthode reset, j'attribue donc à mes entiers la valeur 0.
    Mon problème c'est que je ne voudrais pas que le 0 s'affiche dans ma jsp mais je ne sais pas comment faire....

  2. #2
    Membre régulier Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Points : 111
    Points
    111
    Par défaut
    Tu les affiches comment ? avec des input ? peux tu nous montrer ton code formulaire stp

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Voilà mon code jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      <tr>
       <td>
       <strong><bean:message key="searchform.numvoie" /></strong>
       </td>
       <td><html:text property="numVoie" /></td>
      </tr>

  4. #4
    Membre régulier Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Points : 111
    Points
    111
    Par défaut
    En fait l'utilisateur va remplir le champs texte c'est ça? Pkoi veut tu initialisé à 0? tu fais un test après avec la valeur 0 ?

  5. #5
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    Je pense que le mieux est d'utiliser un objet Integer plutot qu'un int.

    A+
    K

  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
    Citation Envoyé par KiLVaiDeN
    Salut,

    Je pense que le mieux est d'utiliser un objet Integer plutot qu'un int.

    A+
    Exact, int est par défaut initialisé à 0.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    J'utilise la méthode reset quand je veux faire une nouvelle recherche et donc supprimer les valeurs saisies.

    Pourquoi Integer, je vais faire quoi de plus avec?

  8. #8
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Et bien l'Integer, quand tu vas le reseter, tu vas le mettre à null et du coup rien ne s'affichera
    K

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    c'est pareil... ça va m'afficher null!

  10. #10
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Ce que tu dis m'étonnes, as-tu essayé ?

    Au pire, pourquoi ne le mets-tu pas en String ?
    K

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    J'ai mis un int car je dois faire des tris numériques par la suite.

    Voici le code de ma méthode reset
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    public void reset(ActionMapping actionMapping, HttpServletRequest request) {
    this.quartier = "";
    this.codeVoie = "";
    this.nomVoie = "";
    this.numRue = 0;
    this.cmpltNumVoie = "";
    
    }
    
    Si je met un integer, c'est pareil, je ne peux pas mettre "", non?

  12. #12
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Non, mais tu peux mettre null.

    Le mieux pour toi est quand même de mettre des String, même si tu fais des tris, un actionform n'est en aucun cas lié au modèle de donnée, c'est un objet servant uniquement d'interface entre un formulaire et ton application; les vrais données triables font parties d'autres collections d'objets.

    A+
    K

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Je viens de transformer tous mes int en Integer. En effet, je peux mettre null et ça n'affiche rien.

    Mais j'ai un nouveau problème, mes Integer ont toujours la valeur 0!!! même si je ne mets rien dans mon <html:text>...

  14. #14
    Membre régulier Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Points : 111
    Points
    111
    Par défaut
    Quand est ce qu'ils valent zéro ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Et bien tout le temps...
    (sauf quand je saisi une valeur dans mon formulaire biensûr)

  16. #16
    Membre régulier Avatar de stela86
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 197
    Points : 111
    Points
    111
    Par défaut
    Le probleme au départ c'est que tu ne voulais pas afficher 0 dans tes inputs c'est ça?
    Je crois avoir compris que c'était réglé. Non?
    Tu voudrais qu'ils aient quels valeurs ?
    excuse moi de te poser toutes ses questions mais tu n'est pas très clair!

  17. #17
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    J'insiste sur le fait qu'il faut que tu utilises des String.
    Ta confusion vient justement du fait que tu essaies d'utiliser des objets "métiers" en tant qu'ActionForm, alors qu'en fait un objet ActionForm ne doit PAS être un objet métier ( sinon il y a une erreur de conception ).

    Le but, c'est que tu obtiens ton ActionForm, et tu le traites pour obtenir tes informations métiers. Ensuite ton ActionForm ne sers plus à rien, tes données transitent dans tes couches métiers, mais ton ActionForm lui reste coté "front"..

    Je répète le principe, au risque de me prendre des coups : Un ActionForm n'est rien de plus qu'un objet d'interfaçage entre le front et les couches métiers; Il ne doit contenir aucune procédure métier, et ne doit pas être utilisé tel quel dans l'application.

    Désolé d'être insistant
    K

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    Désolée de ne pas être clair...
    Bon je reprends!

    Pour répondre à Stela86, mon probleme de départ était bien de ne pas afficher 0 dans mes <html:text>
    Je l'ai réglé en transformant mes int en Integer et en mettant null dans ma méthode reset.
    Mais maintenant ils ont toujours la valeur 0.

    Pour répondre à KiLVaiDeN, au contraire, je te remercie d'être insistant et de toutes tes explications
    Mais je ne comprends pas trop ce que tu me dis. Je ne vois pas comment mettre mes Integer en String???!!!
    Je n'ai aucune procédure métier dans mon ActionForm; uniquement la déclarations de mes champs et la méthode reset!

  19. #19
    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,

    Les best practices de Struts indiquent que les properties des form doivent etre en String. Ceci dit, Struts accepte les types primitifs tel que int, long. Par contre, les objets, il a du mal, je ne sais pas comment il interprete un Integer, mais, vaut mieux utiliser un String.

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 105
    Points : 55
    Points
    55
    Par défaut
    C'est bon, j'ai tout mis en String.... Et ça marche!!!

    Merci beaucoup à vous

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

Discussions similaires

  1. Générer une JComboBox avec des int
    Par Pirokkk dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 02/01/2008, 17h28
  2. [SQL] Requête dans une requête...avec des INNER JOIN!
    Par PedroBD dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 06/04/2006, 08h26
  3. [VB6] Scrollbar dans une frame avec des textbox
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 44
    Dernier message: 01/03/2006, 08h16
  4. rollover dans une image avec des zones cliquables
    Par brasco06 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/02/2006, 11h15

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