JaliosXperience
Path > Home > Forums > French Forum
Link

Forum JCMS francophone > Traitement URL intuitives

Raphaël Van Heers

Post November 18, 2008 2:07 PM

Traitement URL intuitives

Bonjour,

Existe t-il un hook qui permet d'ajouter un traitement à l'interprétation d'une URL intuitive ? Donc avant d'aller vers l'URL correspondante mais après avoir eu la référence de la data.

Jean-Emmanuel Roux

Jean-Emmanuel Roux

Post November 18, 2008 3:14 PM

Re: Traitement URL intuitives

Bonjour,

Il n'existe pas de hook.
La résolution de l'URL intuitive se situe dans la methode doFilter() de la servlet com.jalios.jcms.servlet.FriendlyURLFilter.
Si vous modifiez cette ressource JCMS de base, pensez à reporter vos modifications lors de vos futures migrations.

Raphaël Van Heers

Post November 18, 2008 3:32 PM

Re: Traitement URL intuitives

Malheureusement, je n'ai pas accès à la source. Il n'existe que le ".class".

Jean-Emmanuel Roux

Jean-Emmanuel Roux

Post November 18, 2008 5:42 PM

Re: Traitement URL intuitives

Bonjour,

Il vous faut par conséquent écrire votre propre filtre de servlet pour y coder votre règle de gestion métier.
Ce filtre doit être invoqué avant le filtre FriendlyURLFilter.

Pour cela, déclarer votre filtre dans le fichier web.xml comme suit :

...
<filter>
    <filter-name>MyServletFilter</filter-name>
    <filter-class>com.xx.yy.servlet.MyServletFilter</filter-class>
</filter>
<filter>
    <filter-name>FriendlyURLFilter</filter-name>
    <filter-class>com.jalios.jcms.servlet.FriendlyURLFilter</filter-class>
</filter>
...

D'un point de vue traitement, votre filtre s'appuiera sur la méthode statique getDataFromFriendlyURL() de la classe FriendlyURLFilter.
Cette méthode permet de savoir si l'URL en cours est une URL intuitive associée une publication JCMS.

Ainsi :

  • Si vous voulez réaliser votre traitement avant l' exécution du filtre FriendlyURLFilter, l'appel de la méthode getDataFromFriendlyURL() avec en paramètre l'URL courante vous retournera un objet non null si l'URL courante correspond à une URL intuitive.
  • Si vous voulez réaliser votre traitement après la redirection induite par le filtre FriendlyURLFilter, l'appel de la méthode getDataFromFriendlyURL() avec en paramètre le referer associé à l'URL courante vous retournera un objet non null si URL précédente correspondait à une URL intuitive.

Rappel : le referer est une information transmise dans une requête HTTP afin de connaître l'URL de la page d'où l'on vient. Dans notre cas, l'URL avant la redirection induite par le filtre FriendlyURLFilter.

Raphaël Van Heers

Post November 19, 2008 10:52 AM

Re: Traitement URL intuitives

Très bien, ça me suffit pour résourdre mon problème. Merci beaucoup pour votre aide.

Login   Home   fr en
JALIOS SA - SIREN 440 126 035