Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1466 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Accéder à request dans une classe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Accéder à request dans une classe

n°1105382
cerber13
Posté le 02-06-2005 à 14:29:24  profilanswer
 

Bonjour,
 
Besoin d'un petit coup de main...
(Eclipse + Tomcat)
 
J'ai d'un côté une JSP qui appelle une méthode statique, disons page.jsp :
 

Citation :

out.print(Utilisateur.getNom());


 
J'ai donc aussi une classe Utilisateur, disons Utilisateur.java :
 

Citation :


public class Utilisateur{
   public static String getNom()
   {
     return "toto";
   }
}


 
 
Evidemment, je ne veux pas que ça renvoie "toto" mais un objet String (en réalité un objet bien + complexe mais bon) qui est en session !
Mon problème c'est d'accéder à request dans ma classe Utilisateur et plus précisément dans la méthode getNom. Comment c'est qu'on fait donc ??? (il est évidemment hors de question de mettre request en paramètre :P vu qu'au final je veux que cette fonction soit utilisée par un tag)
 
Merci d'avance.

mood
Publicité
Posté le 02-06-2005 à 14:29:24  profilanswer
 

n°1105395
cesarr89
Posté le 02-06-2005 à 14:35:53  profilanswer
 

Problème de conception?? non?  
Ou alors j'ai pas tout compris

n°1105407
cerber13
Posté le 02-06-2005 à 14:46:17  profilanswer
 

Plus tôt dans l'appli, je mets un objet en session :
 

Citation :


request.getSession().setAttribute("Nom", "toto" );


 
Si je faisais tout dans le JSP qui affiche le nom, je pourrais faire un  
 

Citation :


out.print((String)request.getSession().getAttribute("Nom" ));


 
Or, le but c'est de pouvoir faire ça au sein d'une classe qui elle n'accède pas directement à request. Comment donc accéder à request dans ma classe Utilisateur ?

n°1105412
cesarr89
Posté le 02-06-2005 à 14:49:19  profilanswer
 

Bah tu passe par un setters de la classe  :??:  
J'ai pas du bien comprendre

n°1105440
cerber13
Posté le 02-06-2005 à 14:57:28  profilanswer
 

A la base je suis surtout dev ASP/PHP je débute en Java donc il est très possible que je m'y prenne mal...
 
Il n'empêche que j'ai une variable en session et que je veux pouvoir y accéder dans une classe... Je veux que la méthode ailler chercher cette info, je ne veux pas que dans chaque JSP on doive aller chercher cette variable et la passer en paramètre de ma méthode...
 
Donc ma question est : une classe java peut-elle accéder aux objets request, response, etc ?

n°1105451
cesarr89
Posté le 02-06-2005 à 15:01:02  profilanswer
 

Moi je penserais pour un problème de conception

n°1105460
cerber13
Posté le 02-06-2005 à 15:05:22  profilanswer
 

Bah explique moi comment tu fais en java pour écrire une classe dont l'une des méthodes, statique, aille récupérer une variable mise en session... (sachant que cette classe n'est pas une servlet si j'ai bien compris ce qu'est une servlet)

n°1105463
cesarr89
Posté le 02-06-2005 à 15:06:39  profilanswer
 

bah avec un setter
 
Edit : c'est quoi une servlet pour toi?


Message édité par cesarr89 le 02-06-2005 à 15:07:08
n°1105482
cerber13
Posté le 02-06-2005 à 15:13:03  profilanswer
 

J'ai cru comprendre qu'une servlet était une classe qui faisait un extends de HttpServlet et qui donc connait implicitement request et response dès lors qu'on l'appelle par un formulaire ou une URL. Ce qui n'a rien à voir avec mon cas.
 
Donc je dois utiliser un setter. As tu un exemple de code, je vois pas très bien à quoi ça va me servir à récupérer un truc qui est en session... ?

n°1105504
cesarr89
Posté le 02-06-2005 à 15:18:13  profilanswer
 

bah dans ta classe Utilisateur du début tu rajoute:
 
public setNom(String nom){
   this.nom = nom;
}
 

mood
Publicité
Posté le 02-06-2005 à 15:18:13  profilanswer
 

n°1105552
cerber13
Posté le 02-06-2005 à 15:31:03  profilanswer
 

Bien sûr.
C'est ce que j'ai fait, c'est en fait mon objet Utilisateur qui est en session.
Maintenant, je veux au sein d'une fonction, pourvoir accéder à mon utilisateur et ainsi pour voir faire un getNom(). Le problème reste entier : accéder à un objet qui est en session depuis une classe qui ne connait pas directeent l'objet request !

n°1105573
cesarr89
Posté le 02-06-2005 à 15:35:27  profilanswer
 

bah dans la méthode tu mets un parametre et au lieu de passer la request, tu passe l'objet utilisateur

n°1105765
nevin0u
Posté le 02-06-2005 à 16:34:51  profilanswer
 

cesarr89 a écrit :

bah dans la méthode tu mets un parametre et au lieu de passer la request, tu passe l'objet utilisateur


 
Je ferais de la même manière. Je ne vois pas d'autres moyens que de passer en paramètre depuis le jsp à la méthode.
 
A moins d'utiliser une Servlet.

n°1105767
cesarr89
Posté le 02-06-2005 à 16:35:31  profilanswer
 

nevin0u a écrit :

Je ferais de la même manière. Je ne vois pas d'autres moyens que de passer en paramètre depuis le jsp à la méthode.
 
A moins d'utiliser une Servlet.


 
Bah ouai je vois pas non plus

n°1107896
benou
Posté le 04-06-2005 à 02:30:11  profilanswer
 

pourquoi faut-il que la méthode soit statique ?
si elle a besoin de données liées à un utilisateur ou à une requête, c'est surement qu'elle ne doit pas être statique : elle dépend d'un contexte d'execution.


---------------
ma vie, mon oeuvre - HomePlayer

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Accéder à request dans une classe

 

Sujets relatifs
erreur postgresql 'can t assign request address'Intérêt d'une classe mysql
AS2.0 : portée dans gestionnaire écrit dans une classeUtilisation d'un objet dans une classe ?
Hériter d'une classe dans un même packageStructure ou classe?
Probleme pour acceder au panneau d'administration de mon forumclasse recursive, erreur de logique introuvable... :( [résolu ^^']
[résolu] [PHP5] Redefinir une classehéritage de classe
Plus de sujets relatifs à : Accéder à request dans une classe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR