Pesquisar

Carregando...

sexta-feira, 9 de abril de 2010

URL amigáveis com JavaServer Faces (jsf) 1.X

Uma das críticas dos usuários de JSF é : "você não consegue criar urls que podem ser bookmarked (favoritadas)".

Eu pensei que iria ter uma trabalheira do cão... pensei que não iria dar muito certo com Richfaces, Spring ... enfim todas as integrações... pensei... pensei errado! :)

Há um framework chamado PrettyFaces (para jsf 1.1 , 1.x e 2.0) o qual o uso é extremamente fácil.

Com apenas dois passos você adiciona url amigáveis ao JSF:

1º Passo: Registrar o filtro no web.xml

<filter>
<filter-name>Pretty Filter</filter-name>
<filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Pretty Filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>

2º Passo: criar o arquivo pretty-config.xml dentro de WEB-INF:

<pretty-config
xmlns="http://ocpsoft.com/prettyfaces-xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ocpsoft.com/prettyfaces-xsd
http://ocpsoft.com/xml/ns/prettyfaces/pretty-1.0.xsd">
<url-mapping id="verNoticia">
<pattern>/noticia/#{myBean.currentStoryId}/</pattern>
<view-id>/noticia.xhtml</view-id>
<action>#{myBean.loadComment}</action>
</url-mapping>
</pretty-config>


Com as configurações acima se você digitasse http://seuhost/seuprojeto/noticia/12345/ você mostraria o bean (de ViewID=/noticia.xhtml) com a notícia de id=12345 :)

ps: um passo omitido seria o download do jar e o registro do mesmo no classpath da sua aplicação.

3 comentários:

Web Design disse...

Bha tu e o cara.
Valeu pele dica.
Otimização de sites eo futuro
www.lrcasual.com

Vinícius Pádua disse...

estava a procura dessa solução em JSF!

pelo post!

Heat disse...

Muito boa a dica, esse pettry face facilitou bastante nossa vida. AInda preciso fazer alguns testes com o keepalive