Seleccionar página

SEO-friendly URLs con Seam II

por | Jul 25, 2008 | General, Seam

Vamos a ampliar la información del post anterior sobre las aplicaciones web y blogs con URLs amigables, o SEO-friendly, con conceptos más avanzados.
Partimos de la base de que tenemos configurado y funcionando el módulo UrlRewrite.

El primer problema con el que me topé es que mi aplicación usaba identificadores numéricos, tipo …/product.seam?idProduct=123. Por lo tanto necesitaba traducir el identificador numérico a una palabra descriptiva del producto, como …/product/silla o …/product/mesa.

Afortunadamente con Seam eso no presenta mucha dificultad y puede emplearse una EL Expression tipo #{rewriter.fromNameToId(‘silla’)}.
Por desgracia, en el archivo urlrewrite.xml no pueden incluirse EL Expressions.

Para solucionarlo, creé una ‘página virtual’ en el pages.xml que recogía los parámetros como String de la url y mediante una llamada a un componente de Seam los traducía en el correspondiente identificador numérico, aprovechando que en el archivo pages.xml sí que se pueden usar EL Expressions.

  • Fichero urlrewrite.xml
    ^/pruduct/([A-Za-z]*)$
    /virtual_product.seam?name=$1
  • Fichero pages.xml

    …..

     

    …..

  • Componente rewrite
    public int idProductFromName(String name) {
    // Consulta en la bbdd para halar
    // el id del producto a partir del nombre
    }

Te puede interesar…

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *