Você está na página 1de 8

Tutorial Wicket

1. Crie um novo projeto:

Nesse caso foi criado o projeto Exemplo Wicket.

2. Faa as configuraes do arquivo POM.xml e web.xml.

No aquivo web.xml informamos qual ser nossa classe inicial, ou seja, a classe que ir estender WebApplication. No exemplo ser a classe JApplication. No Wicket, a classe que estende WebApplication informa qual ser a pgina inicial da aplicao.

3. A classe JApplication ir estender a classe WebApplication. necessrio sobrescrever o mtodo getHomePage(), que ir informar qual a pgina inicial da aplicao. O mtodo mountBookmarkablePage() cria URLs amigveis ao usurio. Segue como ficar essa classe.

4. Aqui ser usado o conceito de herana entre as pginas HTML. A classe JTemplate ser usada como modelo para as classes JCadastro e JListagem. As classes ficaro divididas em pacotes, assim foram criados os pacotes: com.leucotron.exemplowicket.model.view.template com.leucotron.exemplowicket.model.view.listagem com.leucotron.exemplowicket.model.view.cadastro Para a criao das classes faa o seguinte: clique com o boto direito sobre o pacote;

selecione NOVO OUTRO; selecione WEB WICKET PAGE; informe o nome da classe.

Cada criao de uma Wicket Page gera: SuaClasse.java e SuaClasse.html. A pgina HTML ser responsvel pela interface com o usurio, enquanto a classe Java fica responsvel pelas regras de negcio e requisies. 5. Segue como est o projeto at o momento.

6. Construir a classe JTemplate.java:

Foram criados 2 mtodos para a inicializao e adio dos componentes. Isso foi feito para melhorar a legibilidade do cdigo. Quando se instancia um componente, existe um parmetro obrigatrio, que o id do componente. Esse id ser usado para mapear esse componente na pgina HTML. Ao usarmos um LINK, necessrio sobrescrever o mtodo onClick(), que ir informar o destino daquele link, no nosso caso, uma outra pgina.

7. Construir a pgina JTemplate.html:

Na pgina HTML mapeamos os componentes atravs da tag WICKET:ID=. Essa tag faz o enlace entre o componente HTML e a classe Java. Agora, quando o usurio clicar sobre o link CADASTRAR o Wicket acionar o mtodo onSubmit() do componete linkForm da classe Java. A pgina JTemplate.html ser usada como modelo para as outras pginas. Ser como uma classe me para as outras. A interao de herana feita com a tag WICKET:CHILD. Essa tag informa onde os componentes da(s) pgina(s) filhas devero ser colocados. Na(s) pgina(s) filha(s) o cdigo HTML deve estar entre as tags <WICKET:EXTEND> e </WICKET:EXTEND>. Todo o cdigo que estiver entre essas tags ser alocado no lugar na tag WICKET:CHILD. Isso ficar mais claro observando as classes que herdaro de JTemplate.html.

8. Construir a classe JCadastro.java:

Note que a classe JCadastro estende de JTemplate. Nessa classe temos os componentes de

um formulrio que ser apresentado na pgina HTML. Os campos do formulrio correspondem a classe Contato. O Wicket permite que j seja feita a correspondncia dos campos do formulrio com os atributos da classe. Isso foi feito utilizando uma instancia da classe PropertyModel, onde passado o objeto da classe POJO (contato), e o atributo referido. Note tambm que o componente FORM (formulrio) tambm necessita do mtodo onSubmit(), que ser chamado quando o formulrio for submetido.

9. Criao da pgina JCadastro.html:

Na pgina HTML so usadas as tags WICKET:EXTEND para informar que esse trecho deve ser colocado no lugar da tag WICKET:ID da pgina me, e WICKET:ID para mapear os componentes da classe Java.

10. Construir a classe JListagem.java:

A classe JListagem tambm estende a classe JTemplate. Na classe JListagem foi utilizado o componente DataView para criao da listagem de contatos cadastrados. Os dados existentes so colocados em uma lista (ArrayList) e atravs do mtodo populateItem() a grade de dados preenchida. Os dados da lista so automaticamente passados para o objeto da classe Item que o parmetro do mtodo populateItem(); Tambm usado o componente PagingNavigator para fazer a paginao da grade. A pgina de listagem segue o mesmo padro da pgina d cadastro.

11. Construir a pgina JListagem.html: