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 :

Erreur: Syntaxe non autorisée pour l'opération Set


Sujet :

JSF Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Points : 78
    Points
    78
    Par défaut Erreur: Syntaxe non autorisée pour l'opération Set
    bonjour,

    Je possède une page JSP avec des h:inputText. J'ai mis un binding à chacun de ces éléments. Ensuite j'ai créé un fichier Java pour cette page où j'ai déclaré et définit les éléments liés au binding. Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private HtmlInputText textFieldName = new HtmlInputText();
        public HtmlInputText getTextFieldName(){
            return this.textFieldName;
        }
        public void setTextFieldName(HtmlInputText textFieldName){
            this.textFieldName = textFieldName;
        }
    Dans ma fonction init() j'initialise les champs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    textFieldName.setValue(a.getName());
    Jusque la tout se passe bien. Ma page s'affiche avec les bonnes données dans les inputText. Mon problème survient au moment où je clique sur un bouton (valider ou annuler) j'ai l'erreur suivante qui apparait dans le log pour tout mes inputText:

    sourceId=formUpdateAcceptor:textFieldName[severity=(ERROR 2), summary=(Syntaxe non autorisée pour l'opération Set), detail=(Syntaxe non autorisée pour l'opération Set)]

    Est ce que quelqu'un sait comment fixer cette erreur ?
    Merci de votre aide

  2. #2
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Tu peux nous monter comment tu déclare ton inputText.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  3. #3
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Points : 78
    Points
    78
    Par défaut
    Mon input text est déclaré de la façon suivante dans les JSP:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <h:inputText binding="#{UpdateAcceptor_1.textFieldName}" required="true" id="textFieldName" value=""/>

  4. #4
    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
    il faut renseigner l'attribut value..

  5. #5
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Points : 78
    Points
    78
    Par défaut
    Oui c'est se que je viens de voir. Mais le problème maintenant c'est lorsque la page s'affiche, mes inputText ont la valeur mise dans l'attribut value et pas celle que je lui fournit dans la fonction init de mon backing bean

    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 void init() {
            // Perform initializations inherited from our superclass
            super.init();
            final ResourceBundle bundle = getApplicationBean().getRessourceBundle();
            final Acceptor a = getCurrentAcceptor();
     
            outputTitle.setValue(MessageFormat.format(bundle.getString("updateAcceptor_text"), a.getName()));
            textFieldName.setValue(a.getName());
            textFieldEmail.setValue(a.getEmail());
            textFieldCommercialContact.setValue(a.getCommercialContact());
            textFieldTechnicalContact.setValue(a.getTechnicalContact());
            textFieldPhoneNumber.setValue(a.getPhoneNumber());
        }

  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
    pas besoin d'utiliser le binding pour la valeur,
    tu appelles quand cette fonction?
    NB: tu peux initialiser les attributs dans le faces-config aussi..

  7. #7
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Points : 78
    Points
    78
    Par défaut
    La fonction init est appelée automatiquement à la création de la page.

    Je n'ai pas initialisé les valeurs dans le face-config.xml car elles dépendantent de la ligne sélectionnée dans une autre page.

    En fait je veux initialiser les valeur de ces champs et également les récupérer pour la validation du formulaire. c'est pour cela que j'utilise un binding. si tu connais un autre moyen de faire je suis toute ouie.

    Pour l'instant en plus de mon HtmlInputText (utiliser pour récupérer la valeur du champ) j'ai créé un String pour initialiser la valeur du champ. Je trouve cela très moche je voudrais utiliser une seul et unique variable pour chaque champ

  8. #8
    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 Edta Voir le message
    La fonction init est appelée automatiquement à la création de la page.

    Je n'ai pas initialisé les valeurs dans le face-config.xml car elles dépendantent de la ligne sélectionnée dans une autre page.

    En fait je veux initialiser les valeur de ces champs et également les récupérer pour la validation du formulaire. c'est pour cela que j'utilise un binding. si tu connais un autre moyen de faire je suis toute ouie.

    Pour l'instant en plus de mon HtmlInputText (utiliser pour récupérer la valeur du champ) j'ai créé un String pour initialiser la valeur du champ. Je trouve cela très moche je voudrais utiliser une seul et unique variable pour chaque champ
    tu veux dire quoi par automatiquement à la création de page?
    tu peux montrer le code..
    tu es obligé d'utiliser l'attribut value et le binding..

  9. #9
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Points : 78
    Points
    78
    Par défaut
    J'ai une fonction init car mon bean hérite de la classe "AbstractPageBean"

    suite à certains tests, je ne suis rendu compte que je ne suis pas obligée d'utiliser un binding. Si j'utilise uniquement un String avec son accesseur et son mutateur alors je peux accéder à la valeur courante du champ et le modifier.

    Maintenant tout marche bien et je n'utilise qu'une variable pour chaque input.

    Merci pour ton aide

  10. #10
    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 Edta Voir le message
    J'ai une fonction init car mon bean hérite de la classe "AbstractPageBean"

    suite à certains tests, je ne suis rendu compte que je ne suis pas obligée d'utiliser un binding. Si j'utilise uniquement un String avec son accesseur et son mutateur alors je peux accéder à la valeur courante du champ et le modifier.

    Maintenant tout marche bien et je n'utilise qu'une variable pour chaque input.

    Merci pour ton aide
    je voulais dire l'attribut value est obligatoire, le binding est optionnel..mais tu l'utilisait déjà ..

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

Discussions similaires

  1. Erreur syntaxe requête SQLl pour insertion dans ma servlet
    Par kevin254kl dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/10/2014, 23h01
  2. [AC-2007] Opération non autorisée pour ce type d'objet
    Par mcryco dans le forum VBA Access
    Réponses: 2
    Dernier message: 14/02/2014, 16h25
  3. [AC-2003] [VBA] Opération non autorisée pour ce type d'objet.
    Par ludobalu dans le forum VBA Access
    Réponses: 7
    Dernier message: 31/10/2012, 08h26
  4. Réponses: 8
    Dernier message: 05/09/2012, 15h39
  5. Erreur Indice non valide pour la rubrique
    Par windsor dans le forum WinDev
    Réponses: 2
    Dernier message: 26/07/2010, 10h42

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