Page d'accueilFindIt !Contact Cahier Java

Cahier Java

 Forum Java

Ce forum est dédié à l'ouvrage Bien programmer en Java 7, ainsi qu'aux éditions précédentes des Cahiers du Programmeur Java.
Utilisez-le pour toute demande d'information supplémentaire ou pour toute suggestion au sujet de ces ouvrages.
Pour les informations relatives au Cahier du programmeur Swing, merci d'utiliser le forum qui lui est dédié.
Vous pouvez consulter ces forums librement. Pour y participer, inscrivez-vous tout d'abord.

Sujets Messages récents Identification Inscription
Messages du sujet Demande d'explication sur la balise jsp:setProperty

jpclerc

Ville : Papeete
Membre depuis : 22 janv. 2004
Messages : 1
 22 janv. 2004 à 20:01
Bonjour,
Je suis novice et j'aimerais mieux comprendre.

Dans verifierutilisateur.jsp, qq'un peut-il m'expliquer le code suivant :
<%@ include file="bean/utilisateurforum.jsp" %>
<%-- Authentification de l'utilisateur --%>
<jsp:setProperty name="utilisateurForum"
property="pseudonyme" param="pseudonyme" />

L'explication du livre (page 215) ne me suffit pas pour ce qui est du setproperty !!!
Il est dit "Modif. de la proprièté pseudonyme de l'objet utilisateurforum".
Je crois que je mélange classe, objet et Javabean.
Quand l'objet "utilisateurforum" est-il créé ?

[Sujet modifié par le modérateur]

Manu

Ville : Paris / France
Membre depuis : 29 avr. 2003
Messages : 394
 22 janv. 2004 à 22:36
> Je suis novice et j'aimerais mieux comprendre.

Enchanté d'aider un lecteur de l'autre bout du monde ;-)

> Dans verifierutilisateur.jsp, qq'un peut-il m'expliquer le code suivant :
> <%@ include file="bean/utilisateurforum.jsp" %>
> <%-- Authentification de l'utilisateur --%>
> <jsp:setProperty name="utilisateurForum"
> property="pseudonyme" param="pseudonyme" />
>
> L'explication du livre (page 215) ne me suffit pas pour ce qui est du setproperty !!!
> Il est dit "Modif. de la proprièté pseudonyme de l'objet utilisateurforum".

Tout d'abord, il faut bien voir que la page verifierutilisateur.jsp est appelée quand l'utilisateur clique sur le bouton Identifier du formulaire de la page identifierutilisateur.jsp décrit page 214. Ce formulaire contient notamment un champ de saisie dont l'attribut name est égal à "pseudonyme" ce qui veut dire que le texte saisi par l'utilisateur dans ce champ de saisie sera transmis dans le paramètre pseudonyme à la page identifierutilisateur.jsp du serveur Web. Pour vérifier ceci, vous pouvez modifier le formulaire de identifierutilisateur.jsp en utilisant method="get" à la place de method="post", ce qui vous permettra de visualiser dans la barre d'adresse du navigateur ce paramètre quand vous cliquez sur Identifier.
Le paramètre pseudonyme est utilisé par la page verifierutilisateur.jsp pour initialiser la propriété pseudonyme de l'objet utilisateurForum. Pour ce faire on a deux solutions possibles :

- Soit on appelle la méthode setPseudonyme dans une balise de code Java <% %> de la façon suivante :
<% // Récupération dans pseudo de la valeur du paramètre pseudonyme
String pseudo = request.getParameter ("pseudonyme");
// Modification du pseudonyme de l'utilisateur du forum
utilisateurForum.setPseudonyme (pseudo); %>

ou plus simplement :
<% utilisateurForum.setPseudonyme (request.getParameter ("pseudonyme")); %>

- Soit on utilise la balise jsp:setProperty qui produit la même chose
<jsp:setProperty name="utilisateurForum" property="pseudonyme" param="pseudonyme" />

> Je crois que je mélange classe, objet et Javabean.

Pour résumer :
Un JavaBean est une classe public avec des méthodes get... et set... définissant des propriétés (voir page 204).
Un objet est un exemplaire d'une classe (ou d'un JavaBean), la classe servant comme modèle pour créer plusieurs objets ayant les mêmes données et les mêmes méthodes. Par exemple, on peut créer plusieurs objets à partir de la classe com.eteks.forum.UtilisateurForum, chacun de ces objets représentant un utilisateur particulier du forum.
Je comprends un peu votre confusion car souvent on parle d'un JavaBean comme synonyme d'un objet (mais il me semble avoir fait attention dans le livre à ne pas faire ce mélange). Si vous n'avez pas bien compris complètement la différence entre objet et classe, je vous conseille très fortement de lire ou de relire les chapitres 2 et 3. Si vous avez des questions supplémentaires sur ces parties, n'hésitez pas à les poser sur le forum...

> Quand l'objet "utilisateurforum" est-il créé ?

L'objet utilisateurForum (attention aux majuscules/minuscules) est déclaré dans le fichier bean/utilisateurforum.jsp (page 217). Ce fichier est inclus dans la page verifierutilisateur.jsp et aussi dans d'autres pages où on a besoin d'informations sur l'utilisateur en cours.
L'objet utilisateurForum déclaré par la balise <jsp:useBean id="utilisateurForum" .../> est créé la première fois qu'une page incluant cette balise est exécutée sur le serveur. Comme cet objet est déclaré avec une portée session, il en existe en fait un pour la session de chaque utilisateur. Une session représente les différentes opérations qu'un même utilisateur effectue au cours de sa visite d'un site Web (ici le forum) ; elle se termine quand l'utilisateur quitte son navigateur ou au bout d'une demi-heure d'inactivité de l'utilisateur sur un même site Web (voir aussi page 206 pour un autre exemple d'utilisation d'objets de portée session).
On a donc sur le serveur Web autant d'objets utilisateurForum en mémoire que d'utilisateurs actifs du site Web, mais comme chaque page qui utilise utilisateurForum est exécutée suite à une requête d'un utilisateur unique, le serveur Web se débrouille pour créer ou retrouver l'objet utilisateurForum associé à cet utilisateur au moment de la requête.

Voilà, j'espère que j'ai pu vous éclaicir un peu...
---
Manu (moderator/modérateur)


Page d'accueilFindIt !ContactDébut de la page

© Copyrights 1997-2023 eTeks - Tous droits réservés

Cahier Java