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

Servlets/JSP Java Discussion :

Prendre seulement la valeur d'une variable pas son intitulé


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Points : 49
    Points
    49
    Par défaut Prendre seulement la valeur d'une variable pas son intitulé
    Bonjour , je souhaiterai simplifier un programme en faite en définissant une méthode qui retourne un tableau de string modifié grâce à une requête SQL mais j'aimerai en faite dans celle ci si possible que la colonne du SELECT change en fonction de i , un tableau défini comme ça je sais pas si c'est syntaxiquement correcte et de meme j'ai défini des setteurs pour modifier des valeurs et j'aimerai faire appel a différents setteur par exemple j'ai mon string NomVar[]={"Nom", "Prenom", "Age" , "Pays","Adresse","CodePostal","Ville","Sexe"}; donc en faite pour i=0 par exemple j'aimerai que ce soit setNom ensuite i=1 setPrenom et j'ai vu que pour le php pour dire que c'est la valeur de la variable on ajouté $ mais ce ne doit pas être pareil pour JSP si vous pouviez m'aider
    Merci d'avance


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public string LoadParameter(Connection cnx, string ValueMail){String[] rs = new String[8]; 
    int i=0;
    while(i<rs.lenght)rNom =req.executeQuery(SELECT NomVar[i] FROM client WHERE 'mail=ValueMail');
    Set$NomVar[i](getString(NomVar[i]));

  2. #2
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Salut,

    pourrais tu prendre un peu de temps pour reformuler ta question qui n'est pas très claire.

    De plus ton bout de code est tout sauf du Java (ou tout autre langage connu d'ailleurs) Heureusement que le balise code de ce forum n'a pas un compilateur, car il aurait planté en analysant ton code
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Points : 49
    Points
    49
    Par défaut
    désolé en faite , j'aimerai que mon setter change en fonction de certaines variable , en faite que l'on fasse appel a différent setter selon la variable qui tombe.
    Par exemple on a un tableau de trois chaine de caractère {"un","deux","trois"}
    Je souhaiterai faire une boucle ou le setter change à chaque fois , à la première itération c'est setUn(...) deuxième c'est setDeux(...) ...
    J'espère que c'est plus claire

  4. #4
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    okay, je crois avoir compris (mais c'est pas sûr)

    le plus simple est d'utiliser Apache Commons Bean Utils qui permet de travailler sur les objets par l'API de reflexion (mais ça c'est du détail). http://commons.apache.org/beanutils/

    par exemple tu as un Bean Personne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class Personne
    {
       private String nom;
       private String prenom;
     
       // getters / setters ///
    }
    grâce à la méthode BeanUtils.setProperty(...) : http://commons.apache.org/beanutils/...va.lang.Object, java.lang.String, java.lang.Object)

    tu peux faire ça, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Personne instancePersonne = new Personne();
    BeanUtils.setProperty(instancePersonne,"nom","Dupont");
    BeanUtils.setProperty(instancePersonne,"prenom","Jean");
    ce qui, je pense, couvre ton besoin, en plus d'être très pratique
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Points : 49
    Points
    49
    Par défaut
    je ne pense pas que ce soit , ça . Cette instruction permet juste de remplacer les getXxX non?
    Moi je voudrai une sorte de get dynamique pour pouvoir charger mon client de ma BD sur ma classe Client.
    Je peux le faire en mettant toutes les instruction mais c'est plus lourd.
    Sinon une autre question le résultat d'une requête SQL arrive sous une chaine de caractère non ?
    Imaginons nous avons la table Client avec nom ,prenom , adressse Le resultat arrive "nom prenom adresse" (avec un select *) ou "nom"
    "prenom"
    "adresse"

    Merci d'avance

  6. #6
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    je comprends toujours pas ce que tu veux, car ce que tu expliques maintenant n'a plus rien à voir à ce que tu demandais plus haut ça marche pour les getters / setters ... ça remplace de manière dynamique

    ex, le code suivant va peupler un peu qui a les propriété "un", "deux" et "trois" accessibles avec getters/setters. J'utilise alors BeanUtils, pour y mettre dynamiquement les valeurs contenues dans une autre tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
     String[] attributs = new String [] {"un", "deux", "trois"};
     String[] valeurs = new String [] {"1", "2", "3"};
     for(int i=0; i<attributs.length; i++)
     {
       BeanUtils.setProperty(instance,attributs[i],valeurs[i]);
     }
    C'est pas ça que tu voulais ?


    Prends ton temps pour exprimer ton besoin, la ligne de texte est gratuite, ce n'est pas une annonce immobilière ;-)
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Points : 49
    Points
    49
    Par défaut
    je pense c'est ça merci et une autre qestion , dans une requête SQL en JSP on peut par exemple faire "(SELECT '+attribut[i] 'FROM Matable Where '"+unTruc=attribut[i]""') "
    ?

  8. #8
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Citation Envoyé par tonytrua Voir le message
    je pense c'est ça merci
    donc mon poste d'avant y répondait déjà t'aurais pu prendre le temps de le lire

    Citation Envoyé par tonytrua Voir le message
    et une autre qestion , dans une requête SQL en JSP on peut par exemple faire "(SELECT '+attribut[i] 'FROM Matable Where '"+unTruc=attribut[i]""') "
    ?
    oui, mais y'a mieux.
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Points : 49
    Points
    49
    Par défaut
    Merci beaucoup et désolé je n'avais pas compris le raisonement , j'y voyais juste un simple set :/
    Et peut tu m'expliquer le truc mieux ?Si ce n'est pas trop dur

  10. #10
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Citation Envoyé par tonytrua Voir le message
    Merci beaucoup et désolé je n'avais pas compris le raisonement , j'y voyais juste un simple set :/
    Et peut tu m'expliquer le truc mieux ?Si ce n'est pas trop dur
    regarde les "preparedStatement" de JDBC, c'est fait pour ça en tout cas dans la clause WHERE : http://jguillard.developpez.com/JDBC/8.html

    Pour le nom des colonnes, là oui, il faudra que tu concatènes ou que tu substitues la partie variante. Regarde ce post : http://stackoverflow.com/questions/3...red-statements
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Points : 49
    Points
    49
    Par défaut
    Merci beaucoup

  12. #12
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    je rebondis sur ce post en faite tu veux faire de l'invocation de méthode java ?
    Est cela ?

    j'ai un truc sans Bean peut être plus simple :

    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
     
    //---------------------
    	//Invocation de methode	 
    	public void invokeMethod(String maMethode,String[] params) 
    	{ 	  		
    	   try 
    	   { 
    		  Class[] paramTypes = null;
    		  if(params != null)
    		  {
    			paramTypes = new Class[params.length];
    			for(int i=0;i<params.length;++i)
    			{
    			 paramTypes[i] = params[i].getClass();
    			}
    		  } 
    		  Method method = getClass().getMethod(maMethode, paramTypes); 
    		  method.invoke(this, params); 
     
     
    		} 
    		catch (SecurityException e) 
    		{ 
    		   e.printStackTrace(); 
    		} 
    		catch (NoSuchMethodException e) 
    		{ 
    		   e.printStackTrace(); 
    		} 
    		catch (IllegalArgumentException e) 
    		{ 
    		   e.printStackTrace(); 
    		} 
    		catch (IllegalAccessException e) 
    		{ 
    			e.printStackTrace(); 
    		} 
    		catch (InvocationTargetException e) 
    		{ 
    			e.printStackTrace(); 
    		} 
     
    	}
    tu passes en paramètre le nom de ta méthode java et cela l'invoque.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Points : 49
    Points
    49
    Par défaut
    salut merci de ta réponse peut tu juste expliquer brièvement ta méthode java , et les méthode tu peux les inclure dans un bean c'est comme une classe java

  14. #14
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    c'est une classe Java toute simple qui permet de faire de l'invocation de méthode Java.

    c'est plus simple que la technique expliquée plus bas dans ton Post , mais peut être "moins propre" ...

    tu veux faire quoi avec ton bean ?

  15. #15
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Cette technique (l'API reflection) est celle utilisée par BeanUtils.
    Pourquoi ré-inventer la roue ?
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/08/2012, 15h09
  2. Réponses: 2
    Dernier message: 11/02/2008, 22h02
  3. Réponses: 4
    Dernier message: 06/09/2006, 14h50
  4. Réponses: 2
    Dernier message: 06/09/2006, 14h27
  5. [SQL] La valeur d'une variable ne semble pas être prise en compte
    Par oroumgolok dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/09/2006, 23h31

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