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 12:23:55 +0200
User-agent: Thunderbird 2.0.0.22 (X11/20090608)

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.

Malo

André Davignon a écrit :
> Bonjour,
> 
> 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 :
> 
> <map:transform src="xsl/article.xsl">      <map:parameter name="numero"
> value="{1}"/>
>    <map:parameter name="id_article" value="{2}"/>
>    <map:parameter name="use-request-parameters" value="true"/>
>    <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>
> 
> André Davignon
> 
> 
>> Bonjour,
>>
>> Je me rends bien compte que le patern fonctionne car quand on écrit :
>>
>> nimportequoi.html, mon appli me retourne page inexistante et quand je
>> tape :
>> 10_dupont.html, l'appli me dit article inconnu. Je ne fais pas
>> d'erreur sur l'url car en indiquant les mêmes paramètres via l'url,
>> mon article s'affiche bien.
>>
>> Je n'ai pas de déclaration de variable dans la xsp mais dans
>> article.xsl, oui :
>>
>> <xsl:variable name="id_article"
>> select="/sdx:document/sdx:parameters/sdx:address@hidden'id_article']/@value"/>
>>
>> <xsl:variable name="numero_courant"
>> select="/sdx:document/sdx:parameters/sdx:address@hidden'numero']/@value"/>
>>
>>
>> Je vais essayer le code ci-dessous mais cela prendra un peu de temps
>> car j'ai un accès ftp aux fichiers mais je n'ai pas la main pour
>> relancer le serveur.
>>
>> <map:match pattern="*_*.html">
>>   <map:generate type="xsp" src="xsp/article.xsp"/>
>>   <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>
>>
>> Merci pour vos éléments de réponse, cordialement, Emmanuel Pierrez
>>
>>
>> >Est-ce que vous récupérez bien vos deux paramètres "numero" et
>> >"id_article" dans la XSP ?
>>
>> >André Davignon
>>
>>
>>>
>>> Bonjour,
>>>
>>> Vous n'expliquez pas ce qui ne fonctionne pas. On va quand même tentez
>>> une explication :-)
>>>
>>> Dans le pipeline que vous donnez ici :
>>>
>>> {1} = premier "*" dans le @pattern, donc 10
>>> {2} = second "*" dans le @parttern, donc dupont
>>>
>>> J'imagine que c'est ce que vous souhaitez. Donc au niveau du pipeline,
>>> c'est correct. Voir dans "article.xsp" si vous faites correctement
>>> travailler ces paramètres.
>>>
>>> Au niveau de la XSL, l'utilisation de :
>>> <map:parameter name="use-request-parameters" value="true"/>
>>>
>>> vous permet de récupérer les paramètres d'URL si vous déclarez les
>>> <xsl:param name="{le nom du paramètre d'URL}"/>
>>>
>>> Or, vous n'avez pas de paramètres d'URL dans 10_dupont.html.
>>>
>>> Donc, si vous souhaitez récupérer "numero" et "id_article" dans l'XSL,
>>> il faut :
>>>
>>> <map:parameter name="numero" value="{1}"/>
>>> <map:parameter name="id_article" value="{2}"/>





reply via email to

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