|
From: | PIERREZ emmanuel |
Subject: | Re: [sdx-users] url rewriting |
Date: | Thu, 13 Aug 2009 15:04:04 +0200 |
User-agent: | Thunderbird 2.0.0.22 (Windows/20090605) |
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"); if ( idArticle!=null && !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
[Prev in Thread] | Current Thread | [Next in Thread] |