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

Portails Java Discussion :

[Beehive] Tag netui-checkBoxGroup et attribut defaultValue


Sujet :

Portails Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 64
    Points : 46
    Points
    46
    Par défaut [Beehive] Tag netui-checkBoxGroup et attribut defaultValue
    Bonjour à tous,

    Dans le cadre d'un projet Weblogic Portal 8.1 SP4, je dois afficher dans une page JSP un ensemble de checkboxes. Ces dernières sont générées grâce au tag netui:checkBoxGroup. Certaines de ces checkboxes doivent être présélectionnées. Pour cela, j'utilise l'attribut defaultValue et je lui donne un tableau de String contenant les valeurs par défaut. Or, ces valeurs ne sont jamais prises en compte... J'ai essayé de passer une List ou une Map, mais le problème est toujours le même, aucune checkboxe n'est cochée...

    Ci-dessous un extrait du code de ma JSP:
    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
    <%-- ... --%>
     
    <%-- {pageFlow.communesSelectionnees} est le String[] 
         contenant les items à présélectionner --%>
    <netui-data:getData resultId="communesSelectionnees" 
                        value="{pageFlow.communesSelectionnees}" />
     
    <%
        // Ici les valeurs sont correctement récupérées
        String[] valeursDefaut = (String[]) pageContext.getAttribute("communesSelectionnees");
     
        // Traitements sur valeursDefaut
     
        // De même, ici les valeurs sont bien présentes
        pageContext.setAttribute("valeursDefaut", valeursDefaut);
    %>
     
    <netui:checkBoxGroup dataSource="{pageFlow.communesForm.communes}"
                         optionsDataSource="{pageFlow.mapCommunesDept}"
                         defaultValue="{pageContext.valeursDefaut}" />
     
    <%-- ... --%>
    J'ai essayé de remplacer le tag netui:checkBoxGroup par le tag netui:select multiple="true", et là les valeurs de {pageFlow.communesSelectionnees} sont correctement présélectionnées

    Si quelqu'un a une idée pour résoudre ce problème, je suis preneur Merci à vous

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 64
    Points : 46
    Points
    46
    Par défaut
    Bon, j'ai trouvé une solution pas très élégante à base de Javascript et de
    DOM.
    J'espère qu'elle n'est que temporaire... Ca marche sous IE6, je n'ai pas testé
    avec d'autres navigateurs.

    Ci-dessous l'extrait de code de la JSP:
    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
    <%-- checkboxes --%>
    <td id="container">
        <netui:checkBoxGroup dataSource="{pageFlow.communesForm.communes}"
                             optionsDataSource="{pageFlow.mapCommunesDept}" />
    </td>
     
    <%-- en fin de page --%>
    <netui-data:getData resultId="valeursDefaut"
                        value="{pageFlow.communesSelectionnees}" />
    <%
        String[] valeursDefaut = (String[]) pageContext.getAttribute("valeursDefaut");
        String codeJS = "var codesCommunes = new Array();";
     
        for(int i = 0; i < valeursDefaut.length; i++) {
            codeJS += "codesCommunes[" + i + "] = '" + valeursDefaut[i] + "';";
        }
    %>
     
    <script type="text/javascript">
        var container = document.getElementById('container');
        var childrenContainer = container.children;
     
        eval("<%=codeJS%>");
     
        for(i = 0; i < childrenContainer.length; i++) {
            var child = childrenContainer[i];
            var typeChild = child.type;
            var valeurChild = child.value;
     
            if(typeChild == "checkbox") {
                for(j = 0; j < codesCommunes.length; j++) {
                    var code = codesCommunes[j];
     
                    if(valeurChild == code) {
                        child.setAttribute("checked", true);
                    }
                }
            }
        }
    </script>
    Si vous avez une solution plus clean, n'hésitez pas

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

Discussions similaires

  1. tag de validation avec attribut
    Par ggalou dans le forum JSF
    Réponses: 0
    Dernier message: 15/02/2011, 16h54
  2. [STRUTS] les tags html: et l'attribut "id"
    Par treivse dans le forum Struts 1
    Réponses: 2
    Dernier message: 01/08/2006, 08h20
  3. [XSL~FO][FOP] variables possibles dans les attributs de tags ?
    Par lebechen dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 29/06/2006, 09h17
  4. [Custom Tags 1.2] Passer une variable comme valeur d'attribut d'un tag jsp
    Par Pi2 dans le forum Taglibs
    Réponses: 7
    Dernier message: 16/09/2005, 14h44
  5. TAGS -> attributs sans guillemets
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 14/08/2003, 13h01

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