HCL Commerce Balise useBean
La balise useBean instancie un bean de données HCL Commerce et le remplit automatiquement pour vous. Une nouvelle direction de programmation a également été entreprise avec nos magasins type qui utilisent maintenant la JavaServer Pages Standard Tag Library (JSTL) pour effectuer la logique de vue, au lieu du code Java. Dans le même temps, la logique commerciale s'est déplacée dans des beans de données. La combinaison de ces étapes permet moins de code Java dans une page JSP.
La balise useBean est associée aux attributs suivants :
- id
- Obligatoire : L'ID que le nouveau bean aura. Cet ID doit être un identificateur Java valide et doit être unique car il est également utilisé pour créer une nouvelle variable de script pour la page JSP. L'ID doit également être unique à une page.
- classname
- Obligatoire : Classe du bean de données qui sera instancié.
- portée
- Etendue dans laquelle le bean doit être stocké telle que page, requête, session et application. L'étendue par défaut est page.
Pour pouvoir utiliser la nouvelle bibliothèque de balises useBean, une page JSP doit d'abord être informée du moyen de localiser la balise. Pour localiser et utiliser la nouvelle balise, la ligne suivante doit être située en haut du fichier JSP :
<%@ taglib uri="http://commerce.ibm.com/base" prefix="wcbase"
%>
Cette ligne mettra la balise useBean à disposition de la page JSP avec le préfixe de wcbase.
Voici des exemples d'utilisation de la balise useBean :
- Un nouvel OrderDataBean est créé et est accessible sur la page JSP sous forme d'orderBean.
<wcbase:useBean
id="orderBean"classname="com.ibm.commerce.order.beans.OrderDataBean"scope="page"/>
- Un nouvel OrderDataBean est créé et est accessible sur la page JSP sous forme d'orderBean. Dans ce cas, la balise useBean a un corps. A l'intérieur de la balise de corps du bean, le <c:set> est utilisé pour définir des propriétés sur l'OrderDataBean.
<wcbase:useBean id="orderBean" classname="com.ibm.commerce.order.beans.OrderDataBean" scope="page"> <c:set value="${orderId[0]}" target="${orderBean}" property="orderId"/> </wcbase:useBean>