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 :

Facelets / Duplication de code


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 117
    Par défaut Facelets / Duplication de code
    Est-on obligé de dupliquer du code pour répondre aux problématiques d'attributs présents/non présents avec Facelets ??

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <c:if test="#{empty valueChangeListener}">
      <h:inputText .... />
    </c:if>
    <c:if test="#{!empty valueChangeListener}">
      <h:inputText .... valueChangeListener="#{valueChangeListener}"/>
    </c:if>
    C'est pas gênant dans ce cas car il n'y a pas beaucoup de code dupliqué, mais j'ai d'autres cas où il y a plus de code...et à chaque fois qu'on teste un attribut pour le transmettre, on duplique tout le code existant....

    Je trouve que c'est le gros bordel, mais la validation xml empêche d'ouvrir un tag dans un <c:if> sans le refermer derrière.

    Quelqu'un a-t-il trouvé une approche intéressante pour résoudre ce problème ?

    Merci de vos retours

  2. #2
    Membre expérimenté
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Par défaut
    qu'es qui derange quant ton attribut est empty et tu l'affecte ??
    personellement j'ai pas trouve de probleme

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 117
    Par défaut
    Bah dans ce cas, si le valueChangeListener est null, ben ça plante à l'exécution !

    Après je suis d'accord qu'il y a certains attributs avec lesquels ça ne pose pas de problème, comme immediate.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 76
    Par défaut
    Citation Envoyé par romainw Voir le message
    Bah dans ce cas, si le valueChangeListener est null, ben ça plante à l'exécution !

    Après je suis d'accord qu'il y a certains attributs avec lesquels ça ne pose pas de problème, comme immediate.
    Si quelqu'un a une solution elegante je suis aussi preneur

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Pour alléger un peu ton code, au lieu d'utiliser des blocs <if ...>, tu peux jouer directement avec l'attribut rendered :

    Au lieu d'avoir ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <c:if test="#{empty valueChangeListener}">
      <h:inputText .... />
    </c:if>
    <c:if test="#{!empty valueChangeListener}">
      <h:inputText .... valueChangeListener="#{valueChangeListener}"/>
    </c:if>
    tu auras ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <h:inputText .... rendered="#{empty valueChangeListener}"/>
    <h:inputText .... valueChangeListener="#{valueChangeListener}" rendered="#{!empty valueChangeListener}"/>
    c'est mieux, mais tu n'empêches pas complètement le code dupliqué...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

Discussions similaires

  1. MVC : UserControls pour éviter la duplication de code.
    Par stackpuke dans le forum ASP.NET
    Réponses: 3
    Dernier message: 09/07/2009, 16h49
  2. [Facelets] Insérer du code java
    Par Huojid dans le forum JSF
    Réponses: 2
    Dernier message: 09/04/2009, 11h47
  3. Constructeurs et méthodes d'objets : duplication du code ou non ?
    Par Hibou57 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 03/10/2007, 20h41
  4. Réponses: 1
    Dernier message: 13/06/2007, 11h23
  5. Duplication de code, Help.
    Par Mobistar dans le forum Langage
    Réponses: 3
    Dernier message: 07/05/2007, 11h01

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