sdx-users
[Top][All Lists]
Advanced

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

Re: [sdx-users] url rewriting


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 &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]