sdx-users
[Top][All Lists]
Advanced

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

Re: [sdx-users] url rewriting


From: André Davignon
Subject: Re: [sdx-users] url rewriting
Date: Thu, 13 Aug 2009 11:39:06 +0200
User-agent: Thunderbird 2.0.0.22 (Windows/20090605)

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}"/>


_______________________________________________
sdx-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/sdx-users






reply via email to

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