Pretty URLs en Java: Outbound rules con URLRewriteFilter
Publicado por el Martes, 08 de Abril de 2008
Hace ya algunos meses os hablamos de un interesante modo de conseguir URLs bonitas sin depender de Apache. Como se comenta en ese post, URLRewriteFilter puede ayudarnos a conseguir ese propósito.
Hoy nos hemos encontrado con un problema con las outbound rules: siguiendo escrupulosamente la documentación proporcionada en la página de URLRewriteFilter, no era posible hacer que las outbound rules con parámetros funcionasen correctamente. Según la documentación del filtro, una outbound rule se escribe tal que así:
<outbound-rule>
<from>^/world.jsp?country=([a-z]+)&city=([a-z]+)$</from>
<to>/world/$1/$2</to>
</outbound-rule>
Tras un buen rato tirándonos de los pelos y haciendo todo tipo de experimentos se nos encendió una lucecita. "¿Acaso el '?' no tiene un significado específico en una expresión regular?¿No habría que escaparlo? Y escribimos la expresión escapando el '?':
<outbound-rule>
<from>^/world.jsp\?country=([a-z]+)&city=([a-z]+)$</from>
<to>/world/$1/$2</to>
</outbound-rule>
Y todo comenzó a funcionar ,con las limitaciones inherentes a este tipo de solución (que veremos en algún post futuro) pero correctamente.

Tu comentario