Création d'un fichier JSP de sérialisation pour transformer les informations de l'URL en vue de la prévisualisation en contexte
Créez un fichier JSP de sérialisation pour extraire des tables de base de données les éléments de création destiné au nouvel objet et les afficher dans la prévisualisation du magasin. Le fichier JSP de sérialisation convertit les noms provenant d'un fichier JSP contrôleur dans le format XML requis par la structure du Centre de gestion pour alimenter l'adresse de la prévisualisation du magasin.
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
Un JSP contrôleur envoie les noms provenant des réponses BOD à un fichier JSP de sérialisation pour le formatage en XML. Le fichier JSP de sérialisation est utilisé pour recevoir les propriétés de l'objet à partir des noms, et convertit ces informations provenant de l'URL dans un format attendu pour qu'elles soient utilisables dans l'aperçu de magasin du Centre de gestion. Le format attendu est le suivant :
<objects>
<object>
<alias>aliasName</alias>
<url>objectURL</url>
</object>
</objects>- aliasName
- Alias de la page.
- objectURL
- URL complète de la page.
Procédure
- Dans la vue Explorateur d'entreprise, développez .
- Cliquez à l'aide du bouton droit de la souris sur le dossier component_name et sélectionnez .
- Dans la zone Nom de fichier, entrez le nom du nouveau fichier JSP, y compris l'extension .jspf, et cliquez sur Terminer. Pour garantir une cohérence et faciliter la personnalisation, il est recommandé de se conformer à la convention de dénomination suivante : SerializeObjectNamePageSeoUrl.jspf.
Par exemple, pour un objet collection de recettes, appelez le fichier JSP SerializeRecipeCollectionPageSeoUrl.jspf.
- Ajoutez les définitions destinées à votre objet dans le fichier JSP de sérialisation.Le code ci-après est un exemple de fichier JSP de sérialisation qui convertit en XML les informations de l'URL de l'objet entrée de catalogue :
<jsp:useBean id="seoUrlKeywordList" class="java.util.HashMap" type="java.util.Map"/> <jsp:useBean id="seoPrefixUrlList" class="java.util.HashMap" type="java.util.Map"/> <jsp:useBean id="inheritedSeoUrlKeywordList" class="java.util.HashMap" type="java.util.Map"/> 1 <c:forEach var="seoURL" items="${catentry.SEOURL}"> <c:set var="inherited" value=""/> <c:if test="${seoURL.parentStoreIdentifier.uniqueID != currentStoreId}"> <c:set var="inherited" value="Inherited"/> </c:if> <c:forEach var="seoURLKeyword" items="${seoURL.URLKeyword}"> <c:if test="${seoURLKeyword.language != null}"> <c:choose> <c:when test="${inherited != '' }"> <c:if test="${seoURLKeyword.keyword != null && seoURLKeyword.keyword != ''}"> <c:set target="${inheritedSeoUrlKeywordList}" property="${seoURLKeyword.language}" value="${seoURLKeyword.keyword}"/> </c:if> </c:when> <c:otherwise> <c:if test="${seoURLKeyword.keyword != null && seoURLKeyword.keyword != ''}"> <c:set target="${seoUrlKeywordList}" property="${seoURLKeyword.language}" value="${seoURLKeyword.keyword}"/> </c:if> <c:if test="${seoURLKeyword.URLPrefix != null && seoURLKeyword.URLPrefix != ''}"> <c:set target="${seoPrefixUrlList}" property="${seoURLKeyword.language}" value="${seoURLKeyword.URLPrefix}"/> </c:if> </c:otherwise> </c:choose> </c:if> </c:forEach> </c:forEach> <c:set var="fullUrl" value=""/> <c:set var="urlKeyword" value=""/> 2 <c:forEach var="language" items="${supportedDataLangIds}"> <c:choose> <c:when test="${(seoUrlKeywordList[language] != '' && seoUrlKeywordList[language] != null) && seoPrefixUrlList[language] != ''}"> <c:set var="fullUrl" value="${fn:replace(seoPrefixUrlList[language],'$SEO:PRIMARYTOKEN$' ,seoUrlKeywordList[language])}"/> <c:set var="urlKeyword" value="${seoUrlKeywordList[language]}"/> </c:when> <c:when test="${(seoUrlKeywordList[language] == '' || seoUrlKeywordList[language] == null) && seoPrefixUrlList[language] != '' && !empty (inheritedSeoUrlKeywordList[language])}"> <c:choose> <c:when test="${fn:contains(seoPrefixUrlList[language],'$SEO:STORETOKEN$')}"> <c:set var="isAssetStore" value="true"/> </c:when> <c:otherwise> <c:set var="fullUrl" value="${fn:replace(seoPrefixUrlList[language], '$SEO:PRIMARYTOKEN$',inheritedSeoUrlKeywordList[language])}"/> <c:set var="urlKeyword" value="${inheritedSeoUrlKeywordList[language]}"/> </c:otherwise> </c:choose> </c:when> <c:otherwise> <c:set var="fullUrl" value=""/> </c:otherwise> </c:choose> <c:if test="${urlKeyword != '' && fullUrl != ''}"> <object> <alias><wcf:cdata data="${storeName} - ${urlKeyword}"/></alias> (xml tags useddby the getpreviewurlservice. <url><wcf:cdata data="${fullUrl}"/></url> </object> </c:if> </c:forEach>- 1 Le code suivant entre les balises
<c:for>traite les informations de l'URL SEO du nom renvoyé et stocke pour chaque langue le préfixe et les mots clés de l'URL de l'objet entrée de catalogue. - 2 Le code suivant entre les balises
<c:for>chaque langue prise en charge pour le magasin et construit l'URL complète et l'alias de l'objet entrée de catalogue dans la représentation de l'adresse du magasin en vue de son affichage dans la boîte de dialogue Options de prévisualisation du magasin du Centre de gestion.
- 1 Le code suivant entre les balises