Servlets ExperSHOP


Page Principale Table

Pour tout rapport de bug ou suggestion, envoyez un mèl au Support ExperLog


Servlets ExperSHOP

Son rôle principal est d'interpréter des pages DynHtml, pour générer dynamiquement du contenu HTML.

Tout ce qui concerne la gestion de la session client (déterminer qui est connecté) et du panier d'achats est transparent pour l'utilisateur.

ExperSHOP se compose de deux servlets:

  • com.expershop.lite.ExperSHOP est le servlet ExperShop : dites-lui quelle page DynHtml afficher, et quelle action éxécuter.
    Le servlet ExperSHOP tient à jour le contenu du panier d'achats du client.
    En particulier, le servlet ExperSHOP dispose d'un paramètre appelé ShoppingCart, qui permet d'itérer sur le contenu du panier d'achats, d'afficher le prix total des produits présents dans le panier, etc...
  • com.expershop.lite.ESAdminServlet est le servlet d'administration : ses fonctions sont équivalentes à celle du servlet ExperSHOP, avec des fonctions supplémentaires comme un contrôle d'accès par mot de passe, des outils pour gérer les commandes clients dans un site marchand, etc...

Paramètres HTTP

Le servlet ExperShop a besoin des paramètres HTTP suivants :
  • Page: La page DynHtml à afficher, en relatif par rapport au répertoire ESRootDir/ESTemplates/Shop pour le servlet ExperSHOP, ou ESRootDir/ESTemplates/Admin pour le servlet d'administration. (OBLIGATOIRE)
  • Action: L'action à effectuer avant d'afficher la page (FACULTATIF)
    Exemple: l'action prédéfinie ESAddToCart sera utilisée pour ajouter un article dans le panier d'achats, avant d'afficher son contenu.
    Voir le Guide des Actions ExperSHOP pour plus de détails.
  • ActionFailed: La page DynHtml à afficher en cas d'échec d'una action (FACULTATIF, n'a de sens que si le paramètre Action est défini).
  • Cache: Si ce paramètre est présent (et quelle que soit sa valeur), la prochaine page sera mise dans le cache du browser (par defaut, le cache est activé).
  • La valeur du "cookie" ExperSHOP Lite: nécessaire à ExperSHOP pour savoir qui est connecté.
  • Tout autre paramètre qui peut être nécessaire à ExperSHOP pour interpréter la prochaine page DynHtml (par exemple, une Référence Produit pour afficher une page DynHtml qui détaille les propriétés d'un produit).
La première fois que le servlet est appelé, un nom d'application peut lui être spécifié, en utilisant un paramètre HTTP appelé "S_": ce paramètre est nécéssaire si vous souhaitez supporter plusieurs applications (par exemple, des sites marchands multiples).

Exemple:

  <a href=com.expershop.lite.ExperSHOP?S_=SurfShop>
  Surf Shop</a><br>
  <a href= com.expershop.lite.ExperSHOP?S_=Supermarket>
  Faites vos courses!</a><br>
  
Exemple de lien HTTP vers une page ExperSHOP, dans une page DynHtml (liste des rayons de la boutique) :
  <a href= com.expershop.lite.ExperSHOP?$COOKIE$&Page=ESListeRayons.tmpl>
  Rayons</a>
  
$COOKIE$ sera remplacé par toute l'information nécessaire à ExperSHOP pour savoir qui est connecté.
Page dit à ExperSHOP quelle page DynHtml afficher lorsque l'utilisateur clique sur le lien.

Voir le Guide DynHtml pour plus de détails.

Panier d'achats, et autres "Data Sets" prédéfinis

Dans les pages DynHtml, vous pouvez boucler sur des "data sets" (jeux de données, comme par exemple des résultats de requêtes SQL) et afficher leur contenu.

Certains "Data Sets" sont prédéfinis, et toujours accessibles:

  • Le panier d'achats (nom du data set: ShoppingCart): voir le document utilisation du panier d'achats.
  • Le fichier de configuration de l'application (nom du data set: ShopConfig) : chaque propriété définie dans le fichier de configuration peut être affichée dans une page DynHtml, en spécifiant $ShopConfig:[nom-de-propriete]$; par exemple, $ShopConfig:shop.Currency$ affiche la valeur de la propriété shop.Currency (devise utilisée).
  • La date courante (nom du data set: CurrentDate): voir le document utiliser les dates dates.

Paramètres et Data Sets spécifiques du servlet d'Administration

Voir la documentation du servlet d'administration pour plus de détails.