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 :

type mismatch dans JSP


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Romain93
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Par défaut type mismatch dans JSP
    Bonjour,

    J'ai une application web avec des JSP et un managed bean. Dans celui-ci j'ai un attribut de type int que je veux modifier de mes jsp.
    J'ai deux soucis:
    -lorsque l'attribut n'a pas ete initialise, et que j'ai dans mon JSP un inputText relie a cet attribut, 0 s'affiche a l'interieur. Ce n'est pas tres joli n'y-a-t'il pas un moyen de lui dire de ne rien afficher?
    -plus embetant: meme lorsque le inputText a ete defini non required, si je laisse les champs vides, au moment du Submit j'ai un "type mismatch" qui s'affiche a cote du champ, et je suis oblige de le remplir...

    Voila ma classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class StairliftSurvey {
     
        public StairliftSurvey() {
        }
     
        private int PointX;
        public void setPointX(int pointX) {
            this.PointX = pointX;
        }
     
        public int getPointX() {
            return PointX;
        }
    }
    et mon jsp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        <afh:body>
          <af:form>
            <af:inputText label='Point \"X\" to top nose'
                          value="#{StairliftSurvey.pointX}"
                          requiredMessageDetail='You need to indicate the angle and Point \"X\", or the rail length'
                          required="false" columns="4"/>
            <af:commandButton text="Continue" id="submit"
                              action="#{StairliftSurvey.ContinueStairRailDetails}"/>
          </af:form>
        </afh:body>
    Quelqu'un saurait d'ou cela peut venir? Dois-je quelque part convertir le texte dans le inputText en int?

    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de et.rond.et.rond
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Par défaut
    essaye de rajouter un pseudo attribut "pointXString" qui utilisera "pointX"
    teste quand même ce que je te propose pour être bien sur que tu ne perdes pas de données avec mon bricolage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
         public void setPointXString(String pointXString) {
             // ligne suivante à corriger pour faire une conversion String vers "int" et non "Int"
            this.PointX = new Int(pointXString);
        }
     
        public String getPointX() {
            return new String(this.PointX);
        }

  3. #3
    Membre confirmé Avatar de Romain93
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Par défaut
    c'est bon, ca marche! j'ai fait comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        private int PointX;
     
        private String PointXString;
    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
        public void setPointX(int pointX) {
            this.PointX = pointX;
        }
     
        public int getPointX() {
            return PointX;
        }
     
        public void setPointXString (String pointXString) {
            this.PointXString = pointXString;
            if (pointXString == null)
                this.PointX = 0;
            else
                this.PointX = Integer.parseInt(pointXString);
        }
     
        public String getPointXString () {
            return this.PointXString;
        }
    merci beaucoup pour ta reponse!

  4. #4
    Membre éprouvé Avatar de et.rond.et.rond
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Par défaut
    attention là si tu utilises "setPointX" l'attribut "pointXString" ne sera pas mis à jour

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/01/2017, 16h07
  2. Type non reconnu dans JSP
    Par bdptaki dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 18/06/2011, 18h36
  3. mettre un graphique type Radar dans une page JSP
    Par dawaman dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 16/02/2011, 09h01
  4. Pb d'argument type mismatch dans une combo
    Par RomJo dans le forum Struts 1
    Réponses: 1
    Dernier message: 21/01/2011, 23h35
  5. [LG]Type mismatch
    Par néo333 dans le forum Langage
    Réponses: 6
    Dernier message: 04/11/2003, 22h13

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