Meilleures pratiques de programmation JSP : Utiliser des mappes spécifiques à Commerce pour accéder aux paramètres de requête

HCL Commerce fournit les versions spécifiques à Commerce suivantes des objets JSP implicites param et paramValues pour faciliter l'accès aux paramètres de requête HTTP déchiffrés :

WCParam
Un objet de mappage qui mappe le nom d'un paramètre de requête à sa valeur Chaîne unique.
WCParamValues
Facultatif : Un objet de mappage qui mappe le nom d'un paramètre de requête à un tableau Chaîne de toutes les valeurs de ce paramètre.
Pour obtenir un objet tel que WCParamValues, vous devez définir WCParamMode="1" dans le fichier XML d'instance. Consultez la note technique pour plus d'informations.

Bien que, dans de nombreux cas, les objets implicites standard param et paramValues fournissent des fonctionnalités équivalentes à leurs homologues spécifiques à Commerce, il n'est pas garanti que les premiers fonctionnent correctement dans le cas de paramètres chiffrés, et donc WCParam et WCParamValues devraient être systématiquement utilisés dans les pages JSP de magasin.

A titre d'exemple, pour sortir la valeur du paramètre de requête catalogId, utilisez l'instruction suivante :


<c:out value="${WCParam.catalogId}" />

Exception :

Les mappes spécifiques à Commerce ne peuvent pas être utilisées pour accéder à des paramètres supplémentaires qui sont transmis dans une page incluse dynamiquement (c'est-à-dire une page incluse au moyen de la balise <jsp:include> ou <c:import>).

Ainsi, dans l'exemple suivant, SomePage.jsp et SomeOtherPage.jsp ne seront pas en mesure d'accéder à showSubCategory via WCParam ou WCParamValues et devront le faire par le biais de param ou paramValues à la place :


<jsp:include page="SomePage.jsp" flush="true">
  <jsp:param name="showSubCategory" value="true" />
</jsp:include>
  ...
<c:import url="SomeOtherPage.jsp">
  <c:param name="showSubCategory" value="false" />
</c:import>