Accéder à request dans une classe - Java - Programmation
Marsh Posté le 02-06-2005 à 14:35:53
Problème de conception?? non?
Ou alors j'ai pas tout compris
Marsh Posté le 02-06-2005 à 14:46:17
Plus tôt dans l'appli, je mets un objet en session :
Citation : |
Si je faisais tout dans le JSP qui affiche le nom, je pourrais faire un
Citation : |
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 ?
Marsh Posté le 02-06-2005 à 14:49:19
Bah tu passe par un setters de la classe
J'ai pas du bien comprendre
Marsh Posté le 02-06-2005 à 14:57:28
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 ?
Marsh Posté le 02-06-2005 à 15:05:22
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)
Marsh Posté le 02-06-2005 à 15:06:39
bah avec un setter
Edit : c'est quoi une servlet pour toi?
Marsh Posté le 02-06-2005 à 15:13:03
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... ?
Marsh Posté le 02-06-2005 à 15:18:13
bah dans ta classe Utilisateur du début tu rajoute:
public setNom(String nom){
this.nom = nom;
}
Marsh Posté le 02-06-2005 à 15:31:03
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 !
Marsh Posté le 02-06-2005 à 15:35:27
bah dans la méthode tu mets un parametre et au lieu de passer la request, tu passe l'objet utilisateur
Marsh Posté le 02-06-2005 à 16:34:51
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.
Marsh Posté le 02-06-2005 à 16:35:31
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. |
Bah ouai je vois pas non plus
Marsh Posté le 04-06-2005 à 02:30:11
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.
Marsh Posté le 02-06-2005 à 14:29:24
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 :
out.print(Utilisateur.getNom());
J'ai donc aussi une classe Utilisateur, disons Utilisateur.java :
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 vu qu'au final je veux que cette fonction soit utilisée par un tag)
Merci d'avance.