<html>
<head>


<title>&lt;jsp:useBean&gt;</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="Description">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">&lt;jsp:useBean&gt;</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description">
<p>L'action <span class="LITERAL">&lt;jsp:useBean&gt;</span> permet d'associer un nom au bean Java dans l'une des &eacute;tendues JSP et de le rendre disponible en tant que variable de script. Une premi&egrave;re tentative de recherche d'un bean poss&eacute;dant le nom sp&eacute;cifi&eacute; dans l'&eacute;tendue sp&eacute;cifi&eacute;e est effectu&eacute;e. Si celui-ci est introuvable, une nouvelle instance de la classe sp&eacute;cifi&eacute;e est cr&eacute;&eacute;e.
</p>

<p>Pour les attributs facultatifs, au moins une des valeurs <span class="LITERAL">class</span> ou <span class="LITERAL">type</span> doit &ecirc;tre sp&eacute;cifi&eacute;e. Si les deux le sont, la valeur <span class="LITERAL">class</span> doit &ecirc;tre affectable &agrave; la valeur <span class="LITERAL">type</span>. L'attribut <span class="LITERAL">beanName</span> doit &ecirc;tre associ&eacute; &agrave; l'attribut <span class="LITERAL">type</span>&nbsp;; il n'est pas valide associ&eacute; &agrave; l'attribut <span class="LITERAL">class</span>.
</p>

<p>L'action est trait&eacute;e dans les &eacute;tapes suivantes&nbsp;:</p>

<ol><li>
<p>Rechercher un objet &agrave; partir des valeurs d'attribut <span class="LITERAL">id</span> et <span class="LITERAL">scope</span>.
</p>
</li><li>
<p>Attribuer &agrave; une variable de langage de script l'<span class="LITERAL">id</span> donn&eacute; du <span class="LITERAL">type</span> ou de la <span class="LITERAL">class</span> sp&eacute;cifi&eacute;.
</p>
</li><li>
<p>Si l'objet est introuvable, initialiser la valeur de la variable avec une r&eacute;f&eacute;rence &agrave; l'objet recherch&eacute;, crypt&eacute;e pour le <span class="LITERAL">type</span> sp&eacute;cifi&eacute;. Cette op&eacute;ration termine le traitement de l'action. Si le corps de l'&eacute;l&eacute;ment de l'action n'est pas vide, il est ignor&eacute;.
</p>
</li><li>
<p>Si l'objet ne figure pas dans l'&eacute;tendue sp&eacute;cifi&eacute;e et que ni la valeur <span class="LITERAL">class</span> ni la valeur <span class="LITERAL">beanName</span> ne sont sp&eacute;cifi&eacute;es, une exception <span class="LITERAL">InstantiationException</span> est d&eacute;clench&eacute;e. Cette op&eacute;ration termine le traitement de l'action.
</p>
</li><li>
<p>Si l'objet ne figure pas dans l'&eacute;tendue sp&eacute;cifi&eacute;e et que l'attribut <span class="LITERAL">class</span> sp&eacute;cifie une classe non abstraite avec un constructeur public no-args, une nouvelle instance de la classe est cr&eacute;&eacute;e et associ&eacute;e &agrave; la variable de script et au nom sp&eacute;cifi&eacute; dans l'&eacute;tendue sp&eacute;cifi&eacute;e. L'&eacute;tape 7 est effectu&eacute;e apr&egrave;s cela.
</p>

<p>Si l'objet est introuvable et que la classe sp&eacute;cifi&eacute;e ne r&eacute;pond pas &agrave; la configuration requise, une exception <span class="LITERAL">InstantiationException</span> est d&eacute;clench&eacute;e. Cette op&eacute;ration termine le traitement de l'action.
</p>
</li><li>
<p>Si l'objet ne figure pas dans l'&eacute;tendue sp&eacute;cifi&eacute;e et que l'attribut <span class="LITERAL">beanName</span> est sp&eacute;cifi&eacute;, la m&eacute;thode <span class="LITERAL">instantiate()</span> de la classe <span class="LITERAL">java.beans.Beans</span> est invoqu&eacute;e avec le <span class="LITERAL">ClassLoader</span> de l'instance de classe d'impl&eacute;mentation JSP et l'attribut <span class="LITERAL">beanName</span> comme arguments. Si la m&eacute;thode r&eacute;ussit, la nouvelle r&eacute;f&eacute;rence de l'objet est associ&eacute;e &agrave; la variable de script et au nom sp&eacute;cifi&eacute; dans l'&eacute;tendue sp&eacute;cifi&eacute;e. L'&eacute;tape 7 est effectu&eacute;e apr&egrave;s cela.
</p>
</li><li>
<p>Si le corps de l'&eacute;l&eacute;ment de l'action n'est pas vide, il est trait&eacute;. La variable de script est initialis&eacute;e et disponible dans l'&eacute;tendue du corps. Le texte du corps est trait&eacute; comme dans les autres &eacute;tapes&nbsp;: S'il y a du texte, il est transmis &agrave; la r&eacute;ponse&nbsp;; les scriptlets et les balises d'action sont &eacute;valu&eacute;s.
</p>

<p>Un corps non vide permet g&eacute;n&eacute;ralement de terminer l'initialisation de l'instance cr&eacute;&eacute;e. Dans ce cas, le corps contient des actions <span class="LITERAL">&lt;jsp:setProperty&gt;</span> et des scriptlets. Cette op&eacute;ration termine le traitement de l'action.
</p>
</li></ol>
<p>Exemple&nbsp;:</p>

<span class="PROGRAMLISTING"><pre>&lt;jsp:useBean id=&quot;clock&quot; class=&quot;java.util.Date&quot; /&gt;</pre></span>

</td></tr>
</table>
</div>

<div id="beanName">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">beanName</td>
<td valign="top" class="COMPATIBILITY"><span class="LITERAL">String</span></td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage">Valeur de la demande de d&eacute;lai accept&eacute;e&nbsp;: oui</td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
Facultatif. Le nom du bean comme pr&eacute;vu par la m&eacute;thode <span class="LITERAL">instantiate()</span> de la classe <span class="LITERAL">Beans</span> dans le paquet <span class="LITERAL">java.beans</span>.
</p></td>
</tr>
</table>
</div>
<div id="class">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">class</td>
<td valign="top" class="COMPATIBILITY"><span class="LITERAL">String</span></td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage">Valeur de la demande de d&eacute;lai accept&eacute;e&nbsp;: non</td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
Facultatif. Le nom qulifi&eacute; complet de la classe du bean.
</p></td>
</tr>
</table>
</div>
<div id="id">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">id</td>
<td valign="top" class="COMPATIBILITY"><span class="LITERAL">String</span></td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage">Valeur de la demande de d&eacute;lai accept&eacute;e&nbsp;: non</td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
Obligatoire. Le nom &agrave; affecter au bean dans l'&eacute;tendue sp&eacute;cifi&eacute;e et le nom de la variable de script.
</p></td>
</tr>
</table>
</div>
<div id="scope">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">scope</td>
<td valign="top" class="COMPATIBILITY"><span class="LITERAL">String</span></td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage">Valeur de la demande de d&eacute;lai accept&eacute;e&nbsp;: non</td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
Facultatif. L'&eacute;tendue du bean&nbsp;: parmi l'une des valeurs <span class="LITERAL">page</span>, <span class="LITERAL">request</span>, <span class="LITERAL">session</span> ou <span class="LITERAL">application</span>. La valeur par d&eacute;faut est <span class="LITERAL">page</span>.
</p></td>
</tr>
</table>
</div>
<div id="type">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">type</td>
<td valign="top" class="COMPATIBILITY"><span class="LITERAL">String</span></td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="usage">Valeur de la demande de d&eacute;lai accept&eacute;e&nbsp;: non</td>
</tr>
<tr>
<td valign="top" colspan="2" class="description"><p>
Facultatif. Le nom qualifi&eacute; complet de la classe du bean (c'est-&agrave;-dire, une superclasse ou une interface impl&eacute;ment&eacute;e par la classe du bean).
</p></td>
</tr>
</table>
</div>
</body>
</html>
