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
_______________________________________________
sdx-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/sdx-users