sdx-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sdx-users] url rewriting


From: Malo Pichot
Subject: Re: [sdx-users] url rewriting
Date: Thu, 13 Aug 2009 15:49:49 +0200
User-agent: Thunderbird 2.0.0.22 (X11/20090608)

Le problème vient au moins de l'XSP : vous tentez de récupérer des
paramètres d'URL. André Davignon vous donnait la solution. Je la
répercute dans le corps du message ci-dessous :

PIERREZ emmanuel a écrit :
> Voilà ce que j'ai fait :
> 
> sitemap :
> 
> <map:match pattern="*_*.html">
>   <map:generate type="xsp" src="xsp/article.xsp">
>     <map:parameter name="numero" value="{1}"/>
>     <map:parameter name="id_article" value="{2}"/>
>   </map:generate>
>   <map:transform src="xsl/article.xsl">
>     <map:parameter name="numero" value="{1}"/>
>     <map:parameter name="id_article" value="{2}"/>
>     <map:parameter name="base" value="{global:base}"/>
>     <map:parameter name="path_css" value="{global:path_css}"/>
>     <map:parameter name="path_logo" value="{global:path_logo}"/>
>   </map:transform>
>   <map:serialize type="xhtml"/>
> </map:match>
> 
> article.xsl :
> 
> <xsl:param name="id_article"/>
> <xsl:param name="numero"/> en changeant les $numero_courant par des $numero
> 
> article.xsp :
> 
> try {
> 
>   String idArticle = request.getParameter("id_article");


Pour récupérer le paramètre venant de la sitemap :

String idArticle = parameters.getParameter("id_article", null);

S'il faut récupérer le numéro, il faut faire la même chose.


>   if ( idArticle!=null &amp;&amp; !idArticle.trim().equals("")) {
>     </xsp:logic>
>       <sdx:includeDocument idParam="id_article" hilite="true"/>
>     <xsp:logic>
>   }
> 
>   String id_articlebis = parameters.getParameter("id_article",null);
> 
>   if ( id_articlebis!=null ) {
>     </xsp:logic>
>       <sdx:includeDocument idParam="id_article" hilite="true"/>
>     <xsp:logic>
>   }
> 
> } catch (Exception e) {
>     System.out.println("[article.xsp] Erreur java\n"+e.getMessage());
> }
> 
> L'idée est de maintenir les url longues puisque elles ont été citées
> comme telles dans d'autres sites internet.
> 
> Le résultat actuel est que cela ne marche ni mieux ni pire. Faut-il
> relancer le serveur pour voir les effets ou ai-je raté une étape ?
> 
> Merci déjà de votre aide, Emmanuel Pierrez
> 
> 
>> Je comprends que la récupération des paramètres "id_article" et "numero"
>> dans l'XSL attend que ces paramètres soient réellement dans l'URL. La
>> solution la plus simple est de passer les <xsl:variable
>> name="id_article"> en <xsl:param name="id_article"> et passer
>> <xsl:variable name="numero_courant"> en <xsl:param name="numero"> et
>> modifier les $numero_courant en $numero.
>>>
>>> D'après ce que j'ai compris, votre XSP a besoin des paramètres "numero"
>>> et "id_article". Il faut donc lui passer comme vous le faisiez
>>> précédemment, puis les récupérer dans la XSP depuis le sitemap :
>>>
>>> String numero = parameters.getParameter("numero",null);
>>> String id_article= parameters.getParameter("id_article",null);
>>>
>>> Alors que quand vous passiez ces paramètres dans l'URL, vous utilisiez
>>> request.getParameter(numero);
>>>
>>> Enfin, si vous avez également besoin de ces paramètres dans la XSL, la
>>> solution de Malo me semble la meilleure





reply via email to

[Prev in Thread] Current Thread [Next in Thread]