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

Java Discussion :

passer d'une variable locale à une méthode à un paramètre du class


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 42
    Points : 30
    Points
    30
    Par défaut passer d'une variable locale à une méthode à un paramètre du class
    Bonjour,
    j'ai une classe test qui contient plusieurs méthodes mais à chaque méthode il ya une variable(adresse ip) que je la déclare la même dans chaque méthode
    voila la déclaration
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Address targetAddress = new UdpAddress("127.0.0.1/161");
    je veux que cette variable soit entrée en paramètre à la classe dans le main
    c'est à dire
    au lieu de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    test ts=new test();
    dans le main
    je fait entée sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    test ts=new test(127.0.0.1);
    sachant que le 127.0.0.1 est de type InetAddress
    et comme vous avez vu mes métohdes utilise le type Address et il ya la /161

    Merci de me donner la solution
    Vive developpez.

  2. #2
    Membre chevronné
    Profil pro
    Développeur Java Indépendant
    Inscrit en
    Mai 2007
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java Indépendant

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 333
    Points : 2 061
    Points
    2 061
    Par défaut
    Bonjour

    Dans ta classe test, tu écris cette méthode (qui est en fait un constructeur) :
    et tu met la variable targetAddress en attribut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Address targetAddress = null;
     
    public test (String variable){
     
    targetAddress = new UdpAddress(variable);
     
    }
    Normalement, les noms de classe commencent par une majuscule.

    Boncourage

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    Au lieu de déclarer ta variable dans chaque méthode, il suffirait de le mettre comme attribut de la classe

    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 Test{
     
      private Address targetAddress;
     
      public Test( String monAddress){
        targetAddress = new UdpAddress(monAddress);
      }
     
      public taMethode( ){
        //ton attribut targetAddress (ou this.targetAddress) sera accessible sur tous tes méthodes
      }
     
    }

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 42
    Points : 30
    Points
    30
    Par défaut re
    Merci pour vos réponses

    avant les modifications j'ai sa dans mes méthodes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Address targetAddress = new UdpAddress("127.0.0.1/161");
    et apres la création du constructeur voila
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Address targetAddress = new UdpAddress(this.targetAddress+"/161");
    et voila le constructeur de ma classe ma classe

    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 Snmpwalk
    {
     
       Address targetAddress = null;
     
     
        public Snmpwalk (String variable)
        {
     
           targetAddress = new UdpAddress(variable);
     
        }
    et sa l'intanciation dans le main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Snmpwalk wk=new Snmpwalk("127.0.0.1");
    il y'a les erreures suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    init:
    deps-jar:
    Compiling 1 source file to D:\test\SnmpTest2\build\classes
    Note: D:\test\SnmpTest2\src\snmptest2\Snmpwalk.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    compile:
    run:
    Exception in thread "main" java.lang.IllegalArgumentException: 127.0.0.1
            at org.snmp4j.smi.UdpAddress.<init>(Unknown Source)
            at snmptest2.Snmpwalk.<init>(Snmpwalk.java:28)
            at snmptest2.Main.main(Main.java:29)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 1 second)
    j'ai pas compris

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    Tu ne dois pas remettre cette ligne dans tes méthodes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Address targetAddress = new UdpAddress(this.targetAddress+"/161");
    L'attribut que tu as déclaré ci-dessous est utilisable dans toute ta classe, en gros c'est une variable/objet pour toute la classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Address targetAddress = null;
    Il faut juste l'initialiser dans le constructeur, j'aurai fais comme ça :
    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 Snmpwalk
    {
     
       Address targetAddress = null;
     
        public Snmpwalk (String variable)
        {
     
           targetAddress = new UdpAddress(variable+"/161");
     
        }
    }
    Ton targetAddress ci-dessus est donc ta variable que tu utilisera dans tes méthodes. Tu n'a pas besoin de le redéclarer.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 42
    Points : 30
    Points
    30
    Par défaut re
    Merci beaucoup sa marché très bien
    désolé mais maintenant je veux que l'adresse ip de type String entrée en paramètre dans la classe soit importer d'une page jsp située dans le même projet web
    comment je peux importer cette variable d'une page JSP
    merci

  7. #7
    Membre chevronné
    Profil pro
    Développeur Java Indépendant
    Inscrit en
    Mai 2007
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java Indépendant

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 333
    Points : 2 061
    Points
    2 061
    Par défaut
    request.getParameter() pour la récupérer dans une servlet.

    et request.setAttribute() pour la rendre disponnible aussi dans ta JSP :-).

    C'est bien ce que tu veux faire ?

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 42
    Points : 30
    Points
    30
    Par défaut re
    Merci mon ami mais moi je connait meme pas c koi la servlet et je la pas utilisé dans mon projet
    donc y'a t'il un autre moyen pour récuperer la variable du JSP pour l'envoyer a ma clasee Snmpwalk
    merci

  9. #9
    Membre chevronné
    Profil pro
    Développeur Java Indépendant
    Inscrit en
    Mai 2007
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java Indépendant

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 333
    Points : 2 061
    Points
    2 061
    Par défaut
    pas de soucis, ça marche pareil dans une jsp en rajoutant les balises.

    <%request.getParameter("nom de ton champs") %>

    Pour récupérer la valeur saisie :-)

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 42
    Points : 30
    Points
    30
    Par défaut re
    Merci beaucoup mon ami zag-yoshi
    alors je croix que vous m'avez ma compris j'ai une page monitoring.jsp
    ou il ya dedans le ligne suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <%String host=(String) cols.get(1);%>//c une adresse IP
    et j'ai une classe Snmpwalk qui prend en paramètre une adresse IP
    je veut que l'adresse de la page jsp sera entrée en paramètre à la classe

    Si tu veut le code dite le moi
    merci

  11. #11
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 42
    Points : 30
    Points
    30
    Par défaut re
    Merci mais vous m'avez pas compris
    voila je vous explique
    j'ai un projet web dont ils contient plusieures pages jsp,plusieurs packages et plusieurs classes sous ces package
    alors pour la page monitoring.jsp voici le morceau de code qui nous interesse
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    String champ=(String) cols.get(j) ;//champ est une adresse ip
                           if(j==1)
                             {  
    		%>
                    <form name="form" action="ressources.jsp" method="POST" >
                        <input type="hidden" name="var" value="<%= champ%>" />
                        <td><input type="submit" value="<%= champ%>" name="<%= champ%>" size="20"/></td>
                    </form>


    et j'ai un package helloservlet qui contient 3 classes java qui sont(Servlet1, Snmpwalk, myDemoChart)
    voila Servlet1
    Code :

    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
     
     
    /**
    * this class file is a servlet
    */
    package helloservlet;
     
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
     
    public class Servlet1 extends HttpServlet {
    private static final String CONTENT_TYPE = "image/jpeg";
     
     
     
    public void init() throws ServletException {
    }
     
    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
     
    myDemoChart tmp = new myDemoChart();
    tmp.getchart(response.getOutputStream()) ;
    }
     
    //Process the HTTP Post request
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
     
    doGet(request, response);
    }
     
    //Process the HTTP Put request
    public void doPut(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    }
     
    //Clean up resources
    public void destroy() {
    }
    }

    et voila un morceau de code de myDemoChart qui fait appel a Snmpwalk
    Code :

    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
     
     
    package helloservlet;
     
    import java.io.*;
    import org.jfree.chart.*;
    import org.jfree.data.*;
     
    public class myDemoChart {
     
     Snmpwalk wk=new Snmpwalk("127.0.0.1"); 
     
     private DefaultPieDataset getDataSet() throws IOException 
    {
      ....
      .....etc

    je veux que l'adresse ip entrée en paramètre a Snmpwalk soit récuperer de la page monitoring.jsp
    soit directement de la variable champ soit de type hidden l'essentiel est de récuperer la variable
    safait 4 jours que j'essaye de la faire mais sans résultat
    merci de m'aider.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/01/2012, 18h56
  2. passer une variables d'une forme a une autre
    Par levasseur62 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 11/01/2011, 10h40
  3. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 20h05
  4. Echec de stockage d'une valeur dans une variable locale pointée par EBP
    Par homeostasie dans le forum x86 32-bits / 64-bits
    Réponses: 1
    Dernier message: 16/12/2008, 14h52
  5. faire passer une variable d'une fct js à une page php
    Par harlock59 dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 15h41

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