25 junho 2008

URLs simples no Wicket e o novo Eclipse

Uma das coisas bacanas no Wicket é a possibilidade (extremamente simples) de definir URLs RESTful, ou apenas "URLs simples" para as páginas do sistema.

No artigo Wicket Creating RESTful URLs é possível ver como o framework provê de forma bem objetiva, na API, esta funcionalidade. Mas, resumindo: se você quer definir URLs mais amigáveis, diferentemente dos padrões do framework, que são mais ou menos assim:
http://www.example.com/wui/?wicket:bookmarkablePage=%3Anl.stuq.demo.SomePage
É possível deixá-las assim:
  • http://example.com/users/
  • http://example.com/users/{user}
A facilidade de desenvolver, em puro Java, com este framework é o que faz a diferença dentre tantos frameworks Web. O padrão ZeXCo, ou apenas... Zero-XML-Configuration, mais uma vez mostra-se eficáz.
  public WicketApplication() {
Class pageClass = ProductDetailPage.class;
String[] params = new String[]{"id"};
MixedParamUrlCodingStrategy productURLS = new MixedParamUrlCodingStrategy("products", pageClass, params);
mount(productURLS);
...
Isto é o suficiente para acessar a página desta forma: http://example.com/products/23. Onde: "products" indica a página e "23" é o id passado via parâmetro para a classe. Agora, como interceptar este parâmetro? No construtor da página é preciso receber o objeto PageParameters:
  public ProductDetailPage(PageParameters params) {
String id = params.getString("id");
Product product = productService.loadById(id);
setModel(new CompoundPropertyModel(product));
...
}
Pronto! Agora as URLs estão beeeeem bonitinhas... :-P


E para terminar o post, recebi o e-mail agora sobre o anúncio do lançamento do Eclipse Ganymede (nome meio ... gay, não? - mas para os curiosos, Ganymede é uma lua de Júpiter). O pacote oferece um release único e integrado de 23 projetos da Eclipse Foundation.

Há também um concurso para os melhores blogs que postarem sobre o Ganymede; não adianta ser apenas um comentário; o que eles querem mesmo são reviews bem detalhadas... eu to fora! Mas se você quiser participar, acesse a página Ganymede Around The World.

É isso. Agora, é fazer o download do Eclipse Ganymede, do Apache Wicket 1.4m2 e desenvolver aplicações Web com maior produtividade, qualidade e diversão! :D

[]'s
Postar um comentário
Contato

Email:bruno.borges(at)gmail.com

LinkedIn: www.linkedin.com/in/brunocborges
Twitter: www.twitter.com/brunoborges
Comprei e Não Vou
Rio de Janeiro, RJ Brasil
Oracle
São Paulo, SP Brasil