Pour que la prévisualisation en contexte d'un objet métier fonctionne bien, les informations de l'URL doivent être renvoyées comme faisant partie de l'objet. Une manière d'extraire les informations de l'URL consiste à créer un fichier JSP contrôleur personnalisé fonctionnant avec un fichier JSP de sérialisation pour convertir les noms des services HCL Commerce en XML affichable dans le Management Center. Le JSP contrôleur envoie les noms provenant des réponses BOD à un fichier JSP de sérialisation pour le formatage en XML.
Remarque : La création d'un fichier JSP de sérialisation n'est qu'une des nombreuses manières de convertir en XML les informations de l'URL. Vous pouvez utiliser à cette fin des services ou des méthodes personnalisés. Par exemple, si vous disposez d'une balise d'wcf url personnalisée capable de renvoyer les informations de l'URL au format attendu, le fichier JSP de sérialisation est superflu. Vous pouvez implémenter la balise d'url dans le fichier JSP contrôleur.
Pourquoi et quand exécuter cette tâche
Lorsqu'un utilisateur professionnel travaille sur un objet et lance l'aperçu du magasin, une demande d'extraction des informations de l'URL de l'objet est émise. Pour pouvoir être extraites, les informations de l'URL de prévisualisation en contexte doivent être au format XML requis par le Management Center. La conversion des informations de l'URL au format XML nécessite un fichier JSP contrôleur et un fichier JSP de sérialisation. Le JSP contrôleur détermine la manière de gérer la demande de transformation et envoie le contenu au fichier JSP de sérialisation concerné. Le fichier JSP de sérialisation est utilisé pour recevoir les propriétés de l'objet à partir des noms, et transforme ces informations provenant de l'URL pour qu'elles soient utilisables dans l'aperçu de magasin du Management Center.
Lors de l'appel destiné à extraire les informations de l'URL, le JSP contrôleur appelle la bibliothèque de balises wcf:getData en vue d'extraire le nom utilisé pour l'objet du Management Center. Dans la balise wcf:getData, le paramètre expressionBuilder définit le modèle de requête à exécuter. Le modèle de requête est mappé à l'instruction SQL qui extrait les données. Pour plus d'informations, voir Application Web Centre de gestion.
Procédure
-
Créez un fichier JSP contrôleur.
-
Dans la vue Explorateur d'entreprise, développez . Créez la structure de répertoire si elle n'existe pas.
-
Faites un clic droit sur le répertoire component_name et sélectionnez .
-
Dans la zone Nom de fichier, entrez le nom du nouveau fichier JSP contrôleur, en vous conformant au format suivant : GetObjectNamePageSeoUrl.jsp.
Par exemple, pour un objet collection de recettes, appelez le fichier JSP GetRecipeCollectionPageSeoUrl.jsp.
-
Cliquez sur Terminer.
-
Développez le code du fichier JSP contrôleur.
Dans le fichier JSP contrôleur, vous devez définir la balise
wcf:getData pour extraire des services
HCL Commerce le nom du nouvel objet du
Management Center. Dans la balise
wcf:getData, définissez le type de données à extraire et le générateur d'expression à utiliser. Le générateur d'expression est défini dans le fichier
get-data-config.xml du composant et définit lui-même le modèle de requête à utiliser pour extraire les informations de l'URL. Les fragments de code suivants sont des exemples de générateur d'expression prédéfinis pour les objets métier existants pris en charge par la prévisualisation en contexte.
- Pour les objets associés aux pages de catalogue :
<wcf:getData type="com.ibm.commerce.catalog.facade.datatypes.CatalogGroupType[]"
var="category" expressionBuilder="getCatalogGroupSEOByID">
- Pour les objets associés aux pages d'entrée de catalogue :
<wcf:getData type="com.ibm.commerce.catalog.facade.datatypes.CatalogEntryType[]"
var="catalogEntry" expressionBuilder="getCatalogEntrySEOByID">
- Pour les objets associés aux pages statiques :
<wcf:getData type="com.ibm.commerce.infrastructure.facade.datatypes.OnlineStoreType[]"
var="staticPagesSEO" expressionBuilder="findAllSEOStaticPageURLKeywordSummaryByStoreID">
-
Enregistrez et fermez le fichier.
-
Enregistrez le fichier JSP contrôleur dans le fichier de configuration struts-extension.xml.
-
Dans la vue Explorateur d'entreprise, développez .
-
Effectuez l'un des deux ensembles d'étapes suivants selon que votre version de HCL Commerce est la 9.0.0.x ou la 9.0.1.x.
Si vous utilisez
HCL Commerce version 9.0.0.x :
- Ouvrez le fichier struts-extension.xml dans un éditeur de texte.
- A la section
<action-mappings>, ajoutez un mappage d'action pour enregistrer le fichier JSP contrôleur.<action path="pathName" forward="pathToJSP" />
- pathName
- Nom utilisé pour mapper le fichier JSP.
- pathToJSP
- Chemin d'accès au fichier JSP, à partir de .
- Enregistrez et fermez le fichier struts-extension.xml.
Par exemple, pour créer un mappage à un fichier JSP qui extrait l'URL d'une page de collection de recettes, ajoutez le code suivant au fichier :
<action path="/GetRecipeCollectionPageSeoUrl" forward="/jsp/your_company_name/component_name/GetRecipeCollectionPageSeoUrl.jsp" />
Si vous utilisez
HCL Commerce version 9.0.1.x :
- Ouvrez le fichier spring-extension.xml dans un éditeur de texte.
- A la section
<beans>, ajoutez un mappage de bean pour enregistrer le fichier JSP contrôleur.<bean id="beanName" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="pathToJSP"/>
</bean>
- Nom du bean
- Nom utilisé pour mapper le fichier JSP.
- pathToJSP
- Chemin d'accès au fichier JSP, à partir de .
Par exemple, pour créer un mappage à un fichier JSP qui extrait l'URL d'une page de collection de recettes, ajoutez le code suivant au fichier :<bean id="/GetRecipeCollectionPageSeoUrl" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="/jsp/your_company_name/component_name/GetRecipeCollectionPageSeoUrl.jsp"/>
</bean>
- Enregistrez et fermez le fichier spring-extension.xml.
Par exemple, pour créer un mappage à un fichier JSP qui extrait l'URL d'une page de collection de recettes, ajoutez le code suivant au fichier :
<bean id="/GetRecipeCollectionPageSeoUrl" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="/jsp/your_company_name/component_name/GetRecipeCollectionPageSeoUrl.jsp"/>
</bean>