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

Spring Java Discussion :

passage de paramètres username et password [Framework]


Sujet :

Spring Java

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut passage de paramètres username et password
    en utilisant la synthaxe suivante dans config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
      		<property name="driverClassName"><value>${jdbc.driver}</value></property>
      		<property name="url"><value>${jdbc.url}</value></property>
      		<property name="username"><value>${jdbc.username}</value></property>
      		<property name="password"><value>${jdbc.password}</value></property>
    	</bean>
    comment passer les paramètres ${jdbc.driver},${jdbc.url},${jdbc.username} et
    ${jdbc.password} à la connection d'un utilisateur

  2. #2
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2008
    Messages : 63
    Par défaut
    Bonjour

    Il te faut utiliser un PropertyPlaceholderConfigurer et un fichier .properties (database.properties)

    Dans ton application contexte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="classpath:/database.properties"/>
    </beans>
    Le fichier properties devra être à la racine du classpath et sera dans ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    jdbc.driver=com.bdd.Driver
    jdbc.url=leServeur
    jdbc.username=moi
    jdbc.password=motdepasse

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    merci pour la réponse mais je veux renseigner ces valeurs avec celles entrée par l'utilisateur à la connexion

  4. #4
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2008
    Messages : 63
    Par défaut
    L'inconvénient, c'est que ton bean datasource est un singleton qui est crée au déploiement de l'application.
    Donc (pour le moment) :
    - Il faut que les identifiants soit connu au déployement, ce qui n'est pas possible vu le contexte.
    - Il sera le même pour tout les utilisateurs, ce qui n'est pas possible non plus pour faire ce que tu veux.

    Ça risque d'être donc plus compliqué que ça à faire.
    Je n'ai pas vraiment d'idée à te proposer, peut être que d'autres qui répondront en auront.

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    au fait je me demandais si acegi ne pouvait pas résoudre le problème. Je n'ai trouvé aucune doc pour swing. S'il quelqu'un trouve une doc acegi+ swing qu'il me donne le lien

  6. #6
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Salut,
    Citation Envoyé par yLaplace Voir le message
    au fait je me demandais si acegi ne pouvait pas résoudre le problème. Je n'ai trouvé aucune doc pour swing. S'il quelqu'un trouve une doc acegi+ swing qu'il me donne le lien
    Je ne voies pas le rapport d'Acegi avec ça ?
    Acegi est un framework pour la sécurisation des applications. Ceci inclut entre autre l'athentification (login, mot de passe, etc.), mais n'empêche, ça n'a pas de rapport avec le login/mot de passe d'un DataSource.

  7. #7
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    je ne me suis peut être pas bien expliqué mais c'est la gestion des utilisateurs que je veux faire et en plus la gestion des droits

  8. #8
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Citation Envoyé par yLaplace Voir le message
    je ne me suis peut être pas bien expliqué mais c'est la gestion des utilisateurs que je veux faire et en plus la gestion des droits
    Bah en lisant tes messages, on a pas l'impression que c'est ça ce que tu veux. Moi j'ai plutôt compris que tu veux passer des paramètres depuis l'IHM à l'applicationContext.

    Si c'est toujours ça ton objectif, que t'es dans une application Java SE (donc tu crées toi même l'application context) et que t'affiches l'écran de saisie de paramètres avant de créer l'applicationcontext, alors il se peut qu'il y ait une solution :
    - Après la saisie des paramètres, tu les stockes dans des champs statiques
    - Tu crées des FactoryBeans pour chacun des paramètres qui retournent la valeur du champ statique correspondant
    - Tu utilises ces FactoryBean comme valeurs pour les attributs login, password et url.

  9. #9
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    Peux je avoir une exemple concret. Comment lié ces variables aux beans?
    Supposons d'un utilisateur A se connecte avec jpa comme login stocké dans la variable Tlogin et pwd comme mot de passe stocké dans Tpwddans une classe java connectfrm

    context.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <bean id="login" class="connectfrm"/>
    <bean id="pwd" class="connectfrm">
     <constructor-arg ref="login.unGetter"/> 
    </bean>
     
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    		   <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    		   <property name="url" value="jdbc:mysql://localhost:3306/gestcar" />
    		   <property name="username" value=login />  // ref de bean login
    		   <property name="password" value=pwd /> // ref de bean pwd
    	   </bean>
    Est ce que c'est correct

  10. #10
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    personne pour me donner la bonne synthaxe

  11. #11
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    j'ai trouvé cette synthaxe dans la doc mais j'avoue ne pas trop comprendre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <bean id="..." class="...">
               <property name="age">
                   <bean id="person.age"  class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>
               </property>
           </bean>

  12. #12
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <bean id="person" class="...">
      <property name="age" value="20" />
    </bean>
     
    <bean id="person2" class="...">
               <property name="age">
                   <bean id="person.age"  class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>
               </property>
           </bean>

    Ceci va mettre la valeur du champ age du bean person comme valeur du champ age du bean person2 :

    person2.age = person1.age

  13. #13
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    ok donc en faisant ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <bean id="login" class="mis.cinq.connexion.ConnectionDialog">
             <property name="username" value="Alef [setter]"/>
    </bean>
    <bean id="pwd" class="mis.cinq.connexion.ConnectionDialog">
             <property name="password" value="Alef [setter]"/>
    </bean>
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    		   <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    		   <property name="url" value="jdbc:mysql://localhost:3306/gestcar" />
    		   <property name="username" value="login.username" />
    		   <property name="password" value="pwd.password" />
    	   </bean>
    la classe de connexion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class connexion(){
       private String login;
       private String password;
     
     
       public String getLogin(){
           return login;
       }
       public String getPwd(){
           return password;
       }
    }
    comment passer les variables de la classe aux beans?

  14. #14
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    j'ai modifié le datasource
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    		   <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    		   <property name="url" value="jdbc:mysql://localhost:3306/gestcar" />
    		   <property name="username">
                   <bean id="login.name"  class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>
               </property>
               <property name="password">
                   <bean id="pwd.name"  class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>
               </property>
    	   </bean>

  15. #15
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    Après reflexion et recherche j'ai ecrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     ApplicationContext applicationContext =   new ClassPathXmlApplicationContext("spring_config_jdbc.xml");
            BeanFactory factory = applicationContext;
            logger.info("LittleLeagueServices Initializing");
     
            //BeanFactory  tb = (BeanFactory)factory.getBean("setter");
            ConnectionDialog tb = (ConnectionDialog)factory.getBean("login");
    il lance l'écran de connexion. Il me reste à faire les affectations.
    Ce code sous dessous est sensé faire l'affectation mais j'ai une erreur au niveau de la compilation car assertEquals String String n'est pas reconnu. Il y a t 'il une alternative à cette méthode ou s'il y a une libairie où la trouver
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    assertEquals("Alef [setter]", tb.getuserName());

  16. #16
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut Error creating bean with name 'connexion'
    voici la nouvelle config
    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
     
    <bean id="connexion" class="mis.cinq.connexion.ConnectionDialog">
                <property name="username" value="Alef [setter]"/>
                <property name="password" value="Alef [setter1]"/>
           </bean>
     
           <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    		   <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    		   <property name="url" value="jdbc:mysql://localhost:3306/gestcar" />
    		   <property name="username">
                   <bean id="connexion.username"  class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>
               </property>
               <property name="password">
                   <bean id="connexion.password"  class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>
               </property>
    	   </bean>
    et voici le code java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ApplicationContext applicationContext =   new ClassPathXmlApplicationContext("spring_config_jdbc.xml");
            BeanFactory factory = applicationContext;
            logger.info("LittleLeagueServices Initializing");
     
            //BeanFactory  tb = (BeanFactory)factory.getBean("setter");
            ConnectionDialog tb = (ConnectionDialog)factory.getBean("connexion");
            Assert.assertEquals("Alef [setter]", tb.getuserName());
            //tb = (ConnectionDialog)factory.getBean("pwd");
            Assert.assertEquals("Alef [setter1]", tb.getpassword());
    Malheureusement je reçois l'erreur suivante
    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
     
    log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'connexion' defined in class path resource [spring_config_jdbc.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'username' of bean class [mis.cinq.connexion.ConnectionDialog]: Bean property 'username' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
            at java.security.AccessController.doPrivileged(Native Method)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
            at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
            at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
            at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
            at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
            at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
            at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
            at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
            at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
            at mis.cinq.view.TestSpringJdbc.main(TestSpringJdbc.java:30)
    Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'username' of bean class [mis.cinq.connexion.ConnectionDialog]: Bean property 'username' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
            at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:801)
            at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:651)
            at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:78)
            at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276)
            ... 16 more
    Java Result: 1
    BUILD SUCCESSFUL (total time: 39 seconds)

  17. #17
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2008
    Messages : 63
    Par défaut
    Apparemment, le setter de ton objet ConnectionDialog est incorrect.
    Si tu ne vois pas d'erreur, poste le code.

    Concernant ton problème d'equals dans quel contexte l'utilise tu ?
    assertEquals est une méthode de JUnit, donc une méthode d'une api de test.
    Si par contre du l'utilise hors test, utilise plutot un assert :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    assert "Alef [setter]".equals(tb.getuserName());
    Sans oublier d'activer la vérification des assertion en donnant "-ea" en paramètre de lancement de ta classe.
    ex :
    java -ea Toto

  18. #18
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    voici le code de ma classe de connexion
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
     
    public class ConnectionDialog {
     
       t_connect connexion;
       // les différents titre des boutons du dialogue de connexion
       static String[] optionNames = { "Connect" , "Cancel" };
     
       public String text;
       public boolean bool= false;;
       String username;
       String password;
       String servername;
       String port1;
       String databaseName;
       String driver1;
       String server1;
       // les TextFields pour la saisie des informations de connexion
       JTextField  userNameField;
       JTextField  passwordField;
     
       JTextField  serverNameField;
       JTextField  databaseNameField;
     
       JComboBox  serverField;
       JComboBox driverField;
       JComboBox portField;
     
       // le Panel regroupant les "widgets" pour la connexion (TextFields
       // et Labels)
       JPanel      connectionPanel;
     
     
       Vector server;
       Vector driver;
       Vector port;
       int resdialog;
       /**
        * Création du panel qui contientra tous les champs d'information pour la connexion.
        * Attention, le dialogue n'est pas affiché. Il ne le sera que lorsque la méthode activate
        * sera invoquée.
        * @see #activate
        */
     
       public  ConnectionDialog(t_connect connexion) {
       	   this.connexion = connexion;
           Init();
       }
       public  ConnectionDialog() {
       	   Init();
       }
     
       public void  activate() {
          if (resdialog == 0) {
          	    username = userNameField.getText();
                password = passwordField.getText();
                servername = serverNameField.getText();
                port1 =  (String) portField.getSelectedItem();
                databaseName = databaseNameField.getText();
                driver1 = (String) driverField.getSelectedItem();
                server1 =  (String) serverField.getSelectedItem();
     
    	        if ( databaseName == null) {
                    text = "No database provided. Program stopped!";
                    bool = false;
                    //System.out.println("No database provided. Program stopped!");
                    System.exit(0);
                }
                try {
                    connexion = new t_connect(username,password,servername,port1,databaseName,driver1,server1);
    	             //connexion = new t_connect(servername,username,password,databaseName); MYSQL
                    if ( ! connexion.acceptsConnection() ) {
                        text = "I'm not able to connect. Error:\n" + connexion.getError();
                        bool= false;
                        //System.out.println("I'm not able to connect. Error:\n" + connexion.getError());
                    } else {
                        text = "This DB accepts connection with these parameters!";
                        bool= true;
                        //System.out.println("This DB accepts connection with these parameters!");
                    }
                } catch (Exception ex) {
            	        JOptionPane.showMessageDialog(null, "Classes du driver non trouvées","alert", JOptionPane.ERROR_MESSAGE);
                }
          }
     
       }
     
       public void setuserName(String username) {
       	  this.username = username;
       }
     
       public String getuserName() {
       	  return username;
       }
     
       public void setpassword(String password) {
       	  this.password = password;
       }
       public String getpassword() {
       	  return password;
       }
     
       public void setservername(String servername) {
       	  this.servername = servername;
       }
     
       public String getservername() {
       	  return servername;
       }
     
       public void setport(String port1) {
       	  this.port1 = port1;
       }
     
       public String getport() {
       	  return port1;
       }
     
       public void setdatabaseName(String databaseName) {
       	  this.databaseName = databaseName;
       }
     
       public String getdatabaseName() {
       	  return databaseName;
       }
     
       public void setdriver(String driver1) {
       	  this.driver1 = driver1;
       }
     
       public String getdriver() {
       	  return driver1;
       }
     
       public void setserver1(String server1) {
       	  this.server1 = server1;
       }
     
       public String getserver1() {
       	  return server1;
       }
     
     
      /**
       * retourne l'url désignant la BD pour laquelle la connexion est établie.
       * @return l'url désignant la bd
       */
      public String getDBUrl() {
        return (String) serverField.getSelectedItem();
      }
    }
    c'est la méthode activate() qui est appelée lorsqu'on clique sur le bouton ok
    Elle ne fait que renseigner les variables internes à la classe.

  19. #19
    Membre éclairé
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2008
    Messages : 63
    Par défaut
    Tu définis ton bean ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <bean id="connexion" class="mis.cinq.connexion.ConnectionDialog">
                <property name="username" value="Alef [setter]"/>
                <property name="password" value="Alef [setter1]"/>
    </bean>

    Ce qui signifie que tu injectes les propriétés "username" et "password" lorsque tu crées ton bean "connexion". Spring fait cette injection par des setters. Or ces setters ne sont pas présent dans ton code.
    Je vois que tu récupère ces propriétés dans ta méthode activate. Dans ce cas, ne donne pas de properties à ton bean.

  20. #20
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 351
    Par défaut
    j'ai rajouté les methodes setpassword et setuserName c'est bien ça les setters ou je ne comprends pas grande chose au setter. Je voudrais poser une petite question: le setter permet t'il de:
    1- renseigner les variables de la classe à partir de celles du bean
    ou
    2-il renseigne le bean à partir des variables de la classe.
    Si c'est le cas 1 c'est que je suis en brousse car moi c'est le cas 2 qui m'interesse

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Passage de paramètres ID/PASSWORD
    Par OlFo66 dans le forum Apache
    Réponses: 3
    Dernier message: 07/08/2012, 17h43
  2. probleme lors du passage de paramètre
    Par maxmj dans le forum ASP
    Réponses: 4
    Dernier message: 18/11/2003, 00h15
  3. [XSL] Passage de paramètres à un template
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/06/2003, 13h28
  4. passage de paramètres
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 18/02/2003, 17h28
  5. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47

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