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.
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" %>
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.