GET em JSF é possível? É sim, com RestFaces
Marcos Sousa | November 14, 2007É com muita alegria que eu venho informar que foi disponibilizada a primeira versão release do RestFaces. Com ele será possível fazer chamadas a ações via GET, e o melhor, para alguns casos nem precisa usar xml! É isto mesmo! Para os inimigos do xml, há algumas tags que substitui a declaração no xml, por sinal, muito parecida com Struts.
1 2 3 4 | <rest:link action="#{bean.metodo}"> Clique Aqui <rest:param name="chave" value="JSF" property="#{bean.propriedade}"/> </rest:link> |
bom há ainda um xml para quem goste e para algums casos ele é necessário:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <ol> <li><rest-faces></li> <li> <!--</li> <li> this is a filter for authentication. It work for url mapped on Faces Servlet</li> <li> --></li> <li> <view pattern="/protected/*"></li> <li> <listener when="#{!authenticationBean.logged}" outcome="/login.jsp"/></li> <li> </view></li> <li></li> <li> <!--</li> <li> this is a on page load listener. The listener should load a category</li> <li> list if it is null. This listener is a factory for the categoryList property.</li> <li> --></li> <li> <view pattern="/home.jsp"></li> <li> <listener when="#{itemBean.categoryList eq null}"</li> <li> outcome="#{itemBean.categoryListFactory}"/></li> <li> </view></li> <li></li> <li> <!--</li> <li> this is a on page load listener. The listener should load a category</li> <li> by its id and make it available on the page</li> <li> --></li> <li> <view pattern="/items.jsp"></li> <li> <property param="categoryId" value="#{itemBean.categoryId}"/></li> <li> <listener outcome="#{itemBean.categoryLoader}"/></li> <li> </view></li> <li></li> <li> <!--</li> <li> this action is invoked when you call a URL like</li> <li> /context/faces/search?text=hello. The rest:link component make</li> <li> it easier to invoke the action: <rest:link value="search"></li> <li> The text property is setted to #{itemBean.text}</li> <li> --></li> <li> <action name="search" value="#{itemBean.searchByText}"></li> <li> <property param="text"/></li> <li></li> <li> <navigation-case></li> <li> <from-outcome>success</from-outcome></li> <li> <to-view-id>/search.jsp</to-view-id></li> <li> </navigation-case></li> <li></li> <li> </action></li> <li></li> <li></rest-faces></li> </ol> |
O RestFaces tem suporte a Facelets, JSF 1.1 e 1.2 (RI ou Myfaces), Tomcat ou Glashfish. Maiores informações visite o Site Oficial. Esta feature já havia sido anunciada para o JSF 2.0, agora o que resta a saber se este projeto será reconhecido no JCP para quando chegar a versão 2.0 não ser necessário fazer os famosos refactories!





