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 :

Problème de passage de valeur dans un form


Sujet :

JSF Java

  1. #1
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut Problème de passage de valeur dans un form
    Bonjour,

    J'ai un bête formulaire avec un champ de texte et deux listes déroulantes :

    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
    <%@ include file="includes/header.jsp" %>
    <script language="JavaScript" type="text/javascript" src="public/ajax.js"></script>
        <f:view>
            <h:form>
                <table>
                    <tr>
                        <td>Nom de la voiture :</td>
                        <td><h:inputText id="name" value="#{car.name}" /></td>
                    </tr>
                    <tr>
                        <td>Marque :</td>
                        <td>     
                            <h:selectOneMenu onchange="updateType()" id="brand">
                                <f:selectItems value="#{car.brand}"/>
                            </h:selectOneMenu>
                        </td>
                    </tr>
                    <tr>
                        <td>Modèle :</td>
                        <td id="type">
                            <h:selectOneMenu id="selectedModel" value="#{car.selectedModel}">
                                <f:selectItems value="#{car.model}"/>
                            </h:selectOneMenu>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2"><h:commandButton id="test"  value="Ajouter" action="#{car.insert}" /></td>
                    </tr>
                </table>
            </h:form>
        </f:view>
    <%@ include file="includes/footer.jsp" %>
    Et voici le code de mon bean car :

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    public class CarController {
        private String name;
        private String selectedModel;
     
        public String getSelectedModel() {
            return selectedModel;
        }
     
        public void setSelectedModel(String selectedModel) {
            this.selectedModel = selectedModel;
        }
     
        public List<SelectItem> getBrand() {
            Cars car = new Cars();
            return car.getBrandItemList();
        }
     
        public void setBrand(String item) {
     
        }
     
        public List<SelectItem> getModel() {
            Cars car = new Cars();
            return car.getModelItemList();
        }
     
        public void setModel(String item) {
     
        }
     
        public void setName(String name) {
            this.name = name;
        }
     
        public String getName() {
            return name;
        }
     
        public void insert() {
            Cars cars = new Cars();
            cars.insertCar(name, Integer.parseInt(selectedModel), Integer.parseInt(selectedModel));
        }
     
        public void testInsert() {
            Cars cars = new Cars();
            cars.insertCar("Test", 1, 2);
        }
     
        public List<SelectItem> getAjaxModel() {
            FacesContext fc = FacesContext.getCurrentInstance();
            Object brand = fc.getExternalContext().getRequestParameterValuesMap().get("brand");
            if(brand != null) {
                Cars cars = new Cars();
                String[] tmpBrand = (String[]) brand;
                return cars.getModelItemList(tmpBrand[0]);
            }
            return null;
        }
    }
    Le problème est que quand je clique sur le bouton ajouter ça n'ajoute rien... Et j'ai fais des tests avec des System.out.println lorsque les méthodes "set" sont appelée elle n'assigne rien. La valeur est vide. Je ne comprend pas pourquoi. Ensuite j'ai créé une méthode testInsert() pour voir si la méthode est appelée, j'ai bien évidemment modifié le bouton h:command pour appelé cette méthode et non pas la méthode insert. Mais la méthode n'est pas appelée.

    Par contre lorsque je supprime la deuxième liste (selectedModel) la méthode est appelée mais les "set" ne fonctionnent toujours pas.

    Je ne sais plus quoi faire ! J'ai déjà passé une bonne dizaine d'heure sur ce problème. Je vous donne encore une partie de mon faces-config.xml :

    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
    <managed-bean>
            <managed-bean-name>car</managed-bean-name>
            <managed-bean-class>ch.bfh.ti.controller.CarController</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
            <managed-property>
                <property-name>name</property-name>
                <property-class></property-class>
                <value></value>
            </managed-property>
            <managed-property>
                <property-name>selectedModel</property-name>
                <property-class></property-class>
                <value></value>
            </managed-property>
        </managed-bean>
    Merci d'avance pour votre aide.
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  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
    ajoutes un h:messages voir si tu n'a pas d'erreurs..

  3. #3
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    Peux tu nous poster le contenu de ajax.js pour que qu'on puisse reconstruire ton code d'une façon complète?

    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  4. #4
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Bonjour,

    Merci pour vos réponses mais j'ai finalement trouvé l'erreur moi-même. Il s'agissais d'un problème de type.

    Dans la classe cars j'avais les méthodes getBrand() et getModel() qui crée des Liste de SelectItem et dans ces listes je n'indiquais pas explicitement que l'id était de type String.
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/05/2011, 17h11
  2. problème de passage de valeur dans une fonction
    Par jeremie74 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 21/09/2007, 18h30
  3. [résolut] Problème de passage de valeur entre Windows Form
    Par tribaleur dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/06/2007, 11h29
  4. Problème passage de valeurs entre un Form et procédure
    Par Aizen64 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/06/2007, 09h41
  5. Réponses: 9
    Dernier message: 13/05/2005, 03h13

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