Serializable ;
                   
                <jsp:userBean>. Cette déclaration permet d'associer un nom à un bean. Ce nom peut être ensuite utilisé dans la page, comme s'il s'agissait d'un champ normal.
              
            Exemple 46. Déclaration d'un bean dans une page
<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <jsp:useBean id="marin" beanName="marin" scope="request" type="org.paumard.cours.model.Marin"/> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <p>Using <%=marin%> ; </p> </body> </html>
id : désigne le nom du champ qui porte la référence à ce bean. Ici
                    marin.
                   
                beanName : la présence de cet attribut indique que l'on utilise un bean qui a été créé par ailleurs. Ce bean doit se trouver sur l'un des contextes définis dans l'API servlet : la page, la requête, la session ou l'application. La valeur de cet attribut donne la clé à laquelle ce bean a été associé, par invocation d'une méthode
                    setAttribute(beanName, ...).
                   
                scope : attribut qui indique le contexte dans lequel le bean existe. Cet attribut peut prendre les valeurs 
                    page, 
                    request, 
                    session ou 
                    application. Dans le cas d'un bean existant, ce contexte doit obligatoirement être précisé. Le moteur de JSP ira chercher ce bean dans le contexte indiqué, par invocation d'une méthode 
                    getAttribute().
                   
                type : cet attribut indique la classe du bean déclaré. Cette classe doit bien sûr être connue de l'application Web. Dans notre exemple, on affiche simplement ce bean dans la page. Sa méthode
                    toString() sera automatiquement appelée.
                   
                beanName, qui indique que le bean doit exister dans un contexte donné par l'attribut
              scope. Ensuite, plutôt que d'indiquer la classe de ce bean dans l'attribut
              type, on le déclare dans l'attribut
              class.
              
            Dans ce cas, le moteur de JSP crée ce bean, et le range en tant qu'attribut du contexte indiqué dans l'attribut
              scope.
              
            On peut enfin préciser les valeurs des propriétés de ce bean de ceux façons :  
            value de l'élément
                    setProperty ;
                   
                param de l'élément
                    setProperty.
                   
                Exemple 47. Création d'un bean dans une page
<jsp:useBean id="marin" scope="page" class="org.paumard.cours.model.Marin"> <jsp:setProperty name="marin" property="nom" value="Surcouf"/> <jsp:setProperty name="marin" property="prenom" param="prenom"/> <jsp:setProperty name="marin" property="age" param="age"/> </jsp:useBean>
Marin, et on l'associe au nom de champ 
              marin. Le contexte de ce bean est la page, il ne sera donc pas disponible ailleurs que dans cette page. En particulier, si cette page fait appel à d'autres pages, ou à d'autres servlets, ces autres éléments n'auront pas accès à ce bean.
              
            Les trois propriétés
              nom, 
              prenom et 
              age de ce bean sont fixées par les sous-éléments
              setProperty. Ces sous-élements prennent en attribut :
              
            name : le nom du bean, tel que déclaré dans l'attribut
                    id de l'élément
                    useBean.
                   
                property : le nom de la propriété que l'on fixe. Il doit exister un
                    
                      setter
                     associé.
                   
                value : si cet attribut est précisé, alors la propriété prendra la valeur indiquée.
                   
                param : si cet attribut est utilisé, alors la propriété prendra la valeur du paramètre de la requête donc le nom est indiqué. Cela permet de créer directement un pont entre les paramètres présents sur la requête et les propriétés d'un bean.
                   
                <%= et 
              >. On peut utiliser une syntaxe plus légère, comme dans l'exemple suivant.
              
            Exemple 48. Lecture d'une propriété
<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <jsp:useBean id="marin" beanName="marin" scope="session" type="org.paumard.cours.model.Marin"/> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <p>Nom = ${marin.nom}</p> </body> </html>
id de l'élément
              useBean qui a servi à le déclarer), et à indiquer la propriété que l'on veut exploiter en utilisant le séparateur 
              .. Le tout doit être mis entre accolades, et précédé par le caractère 
              $.
              
            Dans ce cas, la propriété sera affichée dans la page. Si elle est non nulle, alors le moteur de JSP utilisera sa méthode
              toString().