Waffle Taglib para a camada de apresentação do Vraptor

Waffle taglib é uma biblioteca que nos ajuda a criar forms personalizados usando a tecnologia JSP. Você pode encontrá-la em http://waffle.codehaus.org/taglib.html.

Instalando a Waffle Taglib

Baixe a Waffle Taglib e coloque-a no seu classpath. Agora, tudo o que você tem que fazer é colocar a declaração nos seus arquivos jsp:

<%@ taglib uri="http://waffle.codehaus.org" prefix="w" %>  

Exemplo

Usando a nossa lógica:

@Component("pessoa")
public class PessoaLogic {

        public void adiciona(Pessoa pessoa) {
                System.out.printf("Adicionando %s no banco!\n", pessoa);
        }

}

Para gerar o formulário no jsp:

 <w:form action="/pessoa.adiciona.logic" type="table" id="sendForm">  
       <w:hidden name="pessoa.id"/>  
       <w:text name="pessoa.nome"/>  
       <w:text name="pessoa.endereco"/>      
       <w:submit value="enviar"/>  
 </w:form> 

E um form para adicionar uma pessoa vai ser gerado! Você precisa ter as seguintes chaves no seu message.properties:

pessoa.nome = Nome
pessoa.endereco = Endereço

Ou adicione o atributo label, tendo a chave no message.properties:

<w:text name="pessoa.nome" label="nome"/>
nome=Nome

Você pode usar esse mesmo formulário para edição, porque todos os campos serão populados se existir uma variavel com o mesmo nome que ele. Por exemplo, se existir uma variável pessoa.nome = João, o campo de texto chamado pessoa.name vai conter João.

Para mais exemplos, veja a Documentação da Waffle Taglib.