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 :

selectOneMenu composé de 2 objets


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Par défaut selectOneMenu composé de 2 objets
    Bonjour tout le monde,
    j'ai mit en place un selectOneMenu contenant une liste d'objets variés (2 objets differents)
    Lorsque je valide mon formulaire je retrouve bien la valeur désiré dans ma base, cependant lorsque je veux restituer cette valeur dans un selectOneMenu il me met pas la bonne valeur

    Mon 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
    public Object getAsObject(FacesContext context, UIComponent component,
    			String value) {		
     
    		if (context == null || component == null)
    			throw new NullPointerException();
    		if (value == null)
    			return null;
    		value = value.trim();
    		if (value.length() < 1)
    			return null;
     
    		PublicFacade publicFacade = ServiceLocator.getLocator().getPublicFacade();		
    		try{					
    			if(value.substring(0,1).equals("R")){
    				Integer idressource = Integer.parseInt(value.substring(1));				
    				return publicFacade.ressourceFindByPrimaryKey(idressource);
     
    			}else if(value.substring(0,1).equals("U")){
    				Integer idunitetravail = Integer.parseInt(value.substring(1));
    				return  publicFacade.uniteTravailFindByPrimaryKey(idunitetravail);				
    			}else
    				return null;
    		}catch(Exception e){		
    			e.getCause().getMessage();
    			return null;			
    		}
    	}
     
    	public String getAsString(FacesContext context, UIComponent component,
    			Object value) {
     
    		if (context == null || component == null)
    			throw new NullPointerException();
    		if (value == null)
    			return "";
    		if (value instanceof String)
    			return (String) value;
    		try {			
    			if(value.getClass().equals(UniteTravail.class)){
    				UniteTravail utr = (UniteTravail)value;	
    				return  String.valueOf("U"+utr.getIdunitetravail());
     
    			}else if(value.getClass().equals(Ressource.class)){
    				Ressource utr = (Ressource)value;
    				return String.valueOf("R"+utr.getIdressource());
    			}
    			return "";
    		} catch (Exception e) {
    			throw new ConverterException(Util
    					.getExceptionMessage(Util.CONVERSION_ERROR_MESSAGE_ID));
    		}
    	}
    Ma page jsp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <h:selectOneMenu id="uniteTravrailRessource" styleClass="SELECT"
    									onfocus="onFocus(this);" onblur="onBlur(this);"
    									required="true" tabindex="18" value="#{beanController.objetUTR}" converter="uniteTravailRessourceConverter">
    									<f:selectItem itemLabel="-- Sélectionnez l'affectation --"
    										itemValue="" />
    									<f:selectItems value="#{referenceDataBean.allUniteTravailRessourceItems}" />										
    								</h:selectOneMenu>
    ma variable dans le bean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private Object objetUTR = null;
     
    public Object getObjetUTR() {
    		return objetUTR;
    	}
     
     
    	public void setObjetUTR(Object objetUTR) {
    		this.objetUTR = objetUTR;
    	}

    Merci d'avance pour votre aide

  2. #2
    Membre éclairé Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Par défaut
    Probleme corrigé en redéfinissant les méthodes equals et hashcode
    Merci MOI

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

Discussions similaires

  1. [2.x] Affichage tableau d'objet composé d'un objet
    Par hannibal974 dans le forum Symfony
    Réponses: 1
    Dernier message: 22/05/2014, 06h24
  2. Instanciation d'objet avec chemin de package composé
    Par sulletf dans le forum Modules
    Réponses: 1
    Dernier message: 16/11/2010, 15h05
  3. Réponses: 7
    Dernier message: 21/09/2007, 15h26
  4. Objet composé par opérations booléennes
    Par jcloupgarou dans le forum OpenGL
    Réponses: 2
    Dernier message: 19/01/2006, 23h58
  5. Réponses: 2
    Dernier message: 29/10/2003, 23h47

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