[Logo] Mentawai Recipes
  [Search] Search   [Recent Topics] Recent Topics   [Hottest Topics] Hottest Topics   [Members]  Member Listing   [Groups] Back to home page 
[Moderation Log] Moderation Log   [Register] Register / 
[Login] Login 
Usando URLs amigáveis  XML
Forum Index » Receitas Oficiais
Author Message
rodrigo.avila



Joined: 24/01/2008 05:07:19
Messages: 30
Location: Brochier, RS | http://osm.org/go/M5t3EG8U
Offline

Você pode usar o org.mentawai.core.PrettyURLController ao invés de org.mentawai.core.Controller no seu web.xml.

Com isto, ao invés de ter a URL:

http://www.mysite.com/MyContext/Topic.show.mtw?id=233&title=Welcome+to+Mentawai

http://www.mysite.com/MyContext/Topic.mtw?id=233&title=Welcome+to+Mentawai

Você vai usar:

http://www.mysite.com/MyContext/mtw/Topic.show/233/Welcome-to-Mentawai

http://www.mysite.com/MyContext/mtw/Topic/233/Welcome-to-Mentawai

Note que, com isto, você vai perder os nomes dos parâmetros (quando vindos por GET), e terá de usar mtw/ na frente das actions em todas as URLs.

O trecho mtw/ se faz necessário para que todas as requisições possam ser mapeadas para o PrettyURLController, conforme especificado no web.xml. Veja como configuramos o PrettyURLController:

OBS: Caso você não queira utilizar o prefixo mtw você pode mapear suas actions de alguma outra maneira, como por exemplo /Users/*.


Tenha em mente que os parâmetros da URL serão colocados no input da action com os nomes "0", "1", "2", etc. Dessa forma, você pode acessá-los através de:

Por último (mas não somenos importante) você pode usar o filtro PrettyURLParamFilter para dar nomes aos parâmetros. Assim você pode por exemplo usar o InjectionFilter para injetá-los dentro da action.

Com o uso de PrettyURLParamFilter, você poderá usar o PrettyURLController sem precisar migrar nenhuma de suas actions.

E sinta-se à vontade para, se quiser, continuar usando o formato antigo de URLs (http://www.mysite.com/UserAction.show.mtw?id=23&category=34), mesmo com o novo controller. Eles também funcionam, desde que você mantenha o mapeamento *.mtw dentro no web.xml.

Rodrigo de Avila
http://www.avila.net.br
[WWW] [MSN]
 
Forum Index » Receitas Oficiais
Go to:   
Powered by JForum 2.1.8 © JForum Team