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 :

RichFaces : orderingList et inputText?


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Par défaut RichFaces : orderingList et inputText?
    Bonjour,

    Mon problème est le suivant : je n'arrive pas à soumettre un formulaire qui contient une rich:orderingList qui contient elle même des h:inputText.

    Je dispose d'un POJO que j'appelle KeyValue. Ce POJO possède des champs clé, valeur et index. En abrégé :

    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
    public class KeyValue implements Cloneable,java.io.Serializable {
     
    protected java.lang.String keyName;
    protected java.lang.String value;
    protected java.lang.Integer keyIndex;
     
    public java.lang.String getKeyName() {...
    public void setKeyName(java.lang.String keyName) {...
    public java.lang.String getValue() {...
    public void setValue(java.lang.String value) {..
    public java.lang.Integer getKeyIndex() {...
    public void setKeyIndex(java.lang.Integer keyIndex) {...
    ...
     
    }
    Je récupère ma liste de KeyValue via un DAO traditionnel, et l'utilise dans mon Backing Bean. En résumé :

    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 DKVEditFace{
     
    private List<KeyValue> currentKeyValueList;
     
    public List<KeyValue> getCurrentKeyValueList() {...
    public void setCurrentKeyValueList(List<KeyValue> currentKeyValueList) {...
     
    public void saveKeyValues(ActionEvent event) {
        System.out.println("Save");
    }
     
    ...
     
    }
    Et enfin, je lie tout cela dans ma page très simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <h:form id="domainForm">
        <rich:orderingList value="#{DKVEditFace.currentKeyValueList}" var="keyValue">
            <rich:column>
                <h:outputText value="#{keyValue.keyName}"/>
            </rich:column>
            <rich:column>
                <h:inputText value="#{keyValue.value}"/>
            </rich:column>
        </rich:orderingList>
        <p>
            <h:commandButton value="#{Bundle.button_save}" actionListener="#{DKVEditFace.saveKeyValues}"/>
        </p>
    </h:form>
    La page s'affiche correctement, me laissant supposer que tout cela fonctionne à merveille. Le seul soucis, c'est dès que j'appuie sur le bouton "SAVE", je me choppe l'erreur suivante :

    javax.servlet.ServletException: /pages/admin/dropdownManagement.xhtml @52,50 value="#{keyValue.keyName}": Property 'keyName' not found on type java.lang.String
    Auriez-vous une idée? Je ne comprend pas pourquoi il semble vouloir utiliser mon objet KeyValue comme si c'était un String...?

    D'avance merci!

  2. #2
    Membre chevronné Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Par défaut
    var="keyValue" change par "uneKeyValue"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Par défaut
    Visiblement ça ne suffit pas...

    javax.servlet.ServletException: /pages/admin/dropdownManagement.xhtml @50,54 value="#{uneKeyValue.keyName}": Property 'keyName' not found on type java.lang.String

    J'ai aussi essayé de changer mon accesseur keyName par name, mais rien n'y fait, toujours la même erreur.

    J'ai aussi essayé de remplacer l'outputText par un inputText, et j'obtiens alors le message suivant dans les logs :
    INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
    sourceId=domainForm:j_id61[severity=(ERROR 2), summary=("Component domainForm:j_id61 has invalid value expression be.approach.brooklyn.KeyValue@1f"), detail=("Component domainForm:j_id61 has invalid value expression be.approach.brooklyn.KeyValue@1f")]

  4. #4
    Membre chevronné Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Par défaut
    Passes ton bean en scope session, peut être DKVEditFace.currentKeyValueList n'est elle plus initialisée lors du post back.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Par défaut
    Il est déjà en scope session...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <managed-bean>
            <managed-bean-name>DKVEditFace</managed-bean-name>
            <managed-bean-class>be.approach.brooklyn.web.DKVEditFace</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
            <managed-property>
                <property-name>keyValueLogic</property-name>
                <value>#{keyValueLogic}</value>
            </managed-property>
        </managed-bean>

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/05/2013, 16h19
  2. Réponses: 4
    Dernier message: 30/10/2012, 11h56
  3. RichFaces, mise à jour h:inputText
    Par My.Poux dans le forum JSF
    Réponses: 7
    Dernier message: 06/08/2010, 11h21
  4. Réponses: 6
    Dernier message: 06/02/2009, 13h52
  5. Réponses: 1
    Dernier message: 06/05/2008, 10h10

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