Problème

Vous avez un composant où vous avez constaté des sélecteurs.

  • Il n’existe aucun contexte de composant dans la requête.
  • Le composant s'affiche, mais pas le modèle.

Solution

JSP A est défini comme script de composant dans votre définition de composant. Vous ne pouvez en définir qu’un seul. Vous avez ensuite ajouté un glob pour JSP B à la définition du composant. Lorsque le composant X est inclus dans le modèle (dans le système de paragraphes ou avec un tag), le component includer est informé uniquement de JSP A comme script du composant. JSP est inclus dans la sortie du modèle JSP.

Le modèle glob de la définition du composant (pour jsp B) est ajouté à la définition du modèle. Il fonctionne de la même façon que les globs ajoutés directement à la définition du modèle. Cette manière est attendue ; il est utile si votre composant doit générer une requête à une autre ressource comme avec des images ou des requêtes Ajax. Dans de tels cas il est nécessaire de savoir ce qu'est le modèle glob lorsque vous définissez le composant.

Pour obtenir le comportement attendu, il est nécessaire que votre composant obtienne le sélecteur de la requête et le base sur ce contenu affiché d'une manière différente. N’ajoutez pas de glob à la définition du composant. Si vous souhaitez le diviser en différents JSPs, vous pouvez utiliser un tag et insérer un autre JSP basé sur le sélecteur.

com.day.cq.delivery. L'interface DeliveryHttpServletRequest définit la chaîne publique getSelectorString et des méthodes publiques de getSelectors pour travailler avec des sélecteurs. L’objet de requête JSP peut être distribué directement à cette interface dans CQ.

Ci-joint un simple exemple. Pour simplifier, cet exemple n’utilise pas de système de paragraphes.

Telechargement

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne