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 :

Utiliser une liste dans rich:listShuttle


Sujet :

JSF Java

  1. #1
    Membre très actif
    Avatar de lionceau
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 148
    Par défaut Utiliser une liste dans rich:listShuttle
    Bonjour ,
    J'utilise Eclipse, JSF 1.2 et Richfaces 3.3.3. et tomcat 6

    J'aimerai juste utiliser rich:listShuttle , je n'arrive pas a inserer la liste de dans le tableau.

    Voici mon code pour gestion-profils.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <rich:listShuttle  sourceValue="#{pickBean.sourceList}"
                              targetValue="#{pickBean.listValues}" var="items"  converter="convertString"
                               sourceCaptionLabel="Droits disponibles" targetCaptionLabel="Droit selectionné" listWidth="165px" 
                               listHeight="100px" orderable="true" orderControlsVisible="false" fastOrderControlsVisible="false">
                               <h:outputText value="#{items}"/>
    						</rich:listShuttle >


    ma fonction init dans le pickbean.java pour initialiser ma liste
    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    import java.util.ArrayList;
    import java.util.List;
    import javax.annotation.PostConstruct;
    import javax.faces.model.SelectItem;
     
     
    /**
     * 
     * 
     */
    public class PickBean {
    	/* Variable pour le formulaire pour la gestion des droits du profil*/
     
    	private List<String> listValues;
    	private List<String> sourceList;
     
    //	public List<SelectItem> getListeDroitsDisponibles () {
    //		List<SelectItem> liste = new ArrayList<SelectItem>();
    //		liste.add(new SelectItem(sourceList.get(index), label))
    //	}
     
     
     
    	/* #################### INIT #################### */
        /**
         * Méthode permettant d'initialieser les champs du formulaire
         * Pour info , l'annotation PostConstruct sert a preciser que cette fonction doit etre executer juste après le constructeur
         */
    	@PostConstruct
    	public void init() {
     
    		// creation du nouveau formulaire
           // List<SelectItem> list = new ArrayList<SelectItem>();
    		//PickBean nouveauFormulaire = null;
    		System.out.println("taille sourceList : " + sourceList.size());
    		sourceList.add("key1");
    		sourceList.add("key2");
    		sourceList.add("key3");
     
    		System.out.println("Je suis passé par là...");
    		System.out.println("1ère string : " + sourceList.get(0));
    		System.out.println("taille sourceList : " + sourceList.size());
     
    		//ajout des champs dans le formulaire
    		/*if (nouveauFormulaire.sourceList == null) {	 			
    			nouveauFormulaire.sourceList.add(new SelectItem("key1", "Utilisateur"));
    			nouveauFormulaire.sourceList.add(new SelectItem("key2", "Validateur"));
    			nouveauFormulaire.sourceList.add(new SelectItem("key3", "Gestionaire"));
    			nouveauFormulaire.sourceList.add(new SelectItem("key4", "Administrateur"));
    			nouveauFormulaire.sourceList.add(new SelectItem("key5", "Super Administrateur"));
    		}	*/	
    	}
     
    	/* #################### listValues #################### */
        /**
         * Méthode permettant d'afficher la liste des champs pour le formulaire
         * à la création du bean.
         * 
         * @return listValues
         */
    	public List<String> getListValues()	{
    //		listValues.add(new SelectItem("csd", "csdvgfb"));
    		return listValues;
    	}
    	public void setListValues(List<String> listval)	{
    		 listValues = listval;
    	}
    	/* #################### sourceList #################### */
        /**
         * Méthode permettant d'afficher la liste des champs de réponse pour le formulaire
         *  
         *  @return sourceList
         */
    	public List<String> getSourceList()	{
     
    		return sourceList;
    	}
    	public void setSourceList(List<String> srcList)	{
    		sourceList = srcList;
    	}
    }

    module-administration.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
    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
    <?xml version="1.0" encoding="UTF-8"?>
     
    <faces-config
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
        version="1.2">
     
        <!-- ==================== MANAGED-BEANS ==================== -->
    	<managed-bean>
    		<description>
    			Ce bean est utilisé pour la classe PickBean, ce bean nous sert pour la gestion des droits. 
    		</description>
    		<managed-bean-name>pickBean</managed-bean-name>
    		<managed-bean-class>com.applications.gestioncs.administration.PickBean</managed-bean-class>
    		<managed-bean-scope>request</managed-bean-scope>
    		<managed-property>
    			<property-name>listValues</property-name>
    			<property-class>java.util.ArrayList</property-class>
    			<list-entries>
    				<value-class>java.lang.String</value-class>
    			</list-entries>
    		</managed-property>
    		<managed-property>
    			<property-name>sourceList</property-name>
    			<property-class>java.util.ArrayList</property-class>
    			<list-entries>
    				<value-class>java.lang.String</value-class>
    			</list-entries>
    		</managed-property>
    	</managed-bean>
     
        <!-- ==================== CONVERTERS ==================== -->
        <converter>
    <!--    	<converter-for-class>java.lang.String</converter-for-class>-->
    		<converter-id>convertString</converter-id>
    	  	<converter-class>com.applications.gestioncs.administration.StringConverter</converter-class>
    <!--		  <description>Permet de convertir un objet String en String (Utile pour les composants Richfaces)</description>-->
     
     
        </converter>
     
     
    	<!-- ==================== NAVIGATION RULES ==================== -->
     
    	<!-- ========== FROM : module conges ========== -->
    	<navigation-rule>
    <!--		<description>Règles de navigation à l'intérieur du module de congés</description>
    		<from-view-id>/application/conges/*</from-view-id>-->
    	</navigation-rule>
     
     
    </faces-config>


    stringconverter.java

    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
     
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.convert.Converter;
     
    /**
     * 
     *
     */
    public class StringConverter implements Converter {
     
    	/**
             * {@inheritDoc}
             *
             * @see javax.faces.convert.Converter#getAsObject(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String)
             */
    	@Override
    	public Object getAsObject(FacesContext context, UIComponent component,
    			String value) {
    		System.out.println("getAsObject : " + value);
    		return value;
    	}
     
    	/**
             * {@inheritDoc}
             *
             * @see javax.faces.convert.Converter#getAsString(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)
             */
    	@Override
    	public String getAsString(FacesContext context, UIComponent component,
    			Object value) {
    		System.out.println("getAsString :" + value);
    		return (String) value;
    	}
     
    }


    Si quelqu'un à un conseil, une remarque, je suis à l'écoute.


    Merci.


    Lionceau.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Par défaut
    Peux tu nous dire l'erreur que tu as ? (liste vide, ...)

  3. #3
    Membre très actif
    Avatar de lionceau
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 148
    Par défaut error listshutle - has invalid value expression
    Bonjour , l'erreur est ce message sur mon listShuttle
    "Component modificationProfil:listes_droits has invalid value expression Gérer les collaborateurs"


    Ceci est le dcode de mon rich:listShuttle :

    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
     
     
     
    										<rich:listShuttle id="listes_droits" sourceValue="#{gestionProfil.sourceList}"
    										                 targetValue="#{gestionProfil.listValues}" var="items" 
    										                  sourceCaptionLabel="Droits disponibles" targetCaptionLabel="Droit(s) selectionné(s)" listWidth="165px" 
    										                  listHeight="100px" orderable="true" orderControlsVisible="false" fastOrderControlsVisible="false"
    										              	  converter=""
    										                  copyAllControlLabel="Selectionner tout"
    										                  removeAllControlLabel="Deselectionner tout"   
        												      copyControlLabel="Selectioner"   
      													      removeControlLabel="Deselectionner">
    										                <h:column>
    										                  <h:outputText value="#{items}"/>
    										                </h:column>
    										</rich:listShuttle >


    Merci pour votre aide.

  4. #4
    Membre très actif
    Avatar de lionceau
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 148
    Par défaut
    Bonjour,

    Je viens d'essayer d'utiliser le converter "listShuttleconverter" mais j'ai toujours la même erreur.Quelqu'un a t'il déjà eu cette erreur ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <rich:listShuttle id="listes_droits" sourceValue="#{gestionProfil.sourceList}"
                                                                                                                         targetValue="#{gestionProfil.listValues}" var="items"
                                                                                                                          sourceCaptionLabel="Droits disponibles" targetCaptionLabel="Droit(s) selectionné(s)" listWidth="165px"
                                                                                                                          listHeight="100px" orderable="true" orderControlsVisible="false" fastOrderControlsVisible="false"
                                                                                                                          copyAllControlLabel="Selectionner tout"
                                                                                                                          removeAllControlLabel="Deselectionner tout"  
                                                                                                                                      copyControlLabel="Selectioner"
                                                                                                                                              removeControlLabel="Deselectionner"
                                                                                                                                              converter="listShuttleconverter">                                                                                                                 
                                                                                                                        <h:column>
                                                                                                                          <h:outputText value="#{items}"/>
                                                                                                                        </h:column>
                                                                                                        </rich:listShuttle >
    Ce code pour le converter :
    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
    60
    61
    62
    63
    64
     
     
     
    package com.sopragroup.niort.applications.gestioncs.administration;
     
     
     
    import java.util.ArrayList;
     
     
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
     
     
     
    import applications.gestioncs.msg.MsgDroit;
     
     
     
     
     
     
     
     
    /**
    * Convertisseur pour le listshuttle.
    * @author fbrunet
    */
    public class ListShuttleConverter  implements javax.faces.convert.Converter {
     
     
     
        @Override
              public Object getAsObject(FacesContext context, UIComponent component, String value) {
     
    //              Object droit = (String) value;
     
                        System.out.println("converter getAsObject : " + value);
     
     
              //          System.out.println("objetRetour : " + objetRetour);
     
                        return value;
              }
     
        @Override
              public String getAsString(FacesContext context, UIComponent component, Object value) {
     
                  //List<String> listeStringDroit = new ArrayList<String>();
     
                  String droit = (String) value;
     
                  //bouvle pour remplir listeStringDroit
     
        //          listeStringDroit.add(droit);
     
                        System.out.println("converter getAsString : " + value);
     
                        return droit;
     
              }
     
     
    }

Discussions similaires

  1. [WSS3] utiliser la valeur d'une liste dans une autre
    Par chatroux dans le forum SharePoint
    Réponses: 2
    Dernier message: 21/10/2008, 13h51
  2. utiliser une liste comme colonne dans une autre liste
    Par ahmedmido dans le forum SharePoint
    Réponses: 1
    Dernier message: 15/07/2008, 09h42
  3. utiliser une liste dans un tableau croisé.
    Par zaatour dans le forum Cognos
    Réponses: 1
    Dernier message: 05/12/2007, 20h44
  4. Réponses: 7
    Dernier message: 29/04/2007, 10h37
  5. Utiliser une liste de valeur dans un select
    Par in dans le forum Oracle
    Réponses: 13
    Dernier message: 09/01/2007, 11h33

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