Formulário dinâmico

Pessoal

Preciso criar uma aplicação que terá como finalidade montar formulários dinâmicos contendo vários tipos de perguntas (cadastradas em um BD) a serem respondidas por usuários na Internet.

A quantidade de perguntas por página, a disposição e as diretrizes básicas de formatação de cada uma também ficam no BD. Então vou precisar gerar html dinamicamente nos servlets sem usar JSP, provavelmente aplicando algum padrão de nomeação aos fields do formulário (para depois poder capturar no post os dados preenchidos).

Estou tentando imaginar maneiras de fazer isso da forma menos deselegante possível. Queria evitar simplesmente concatenar strings e compor o html no meu código.

Alguém sugere algum framework ou técnica interessante?

Não monte HTML em Servlets e Java em HTMLS, prefira montar esses conteúdos no próprio JSP com algumas taglibs, como jstl, escolha algum framework (Vraptor2, Webwork, Struts etç)

JSTL
http://www.guj.com.br/posts/list/19960.java

Para paginação:
http://displaytag.homeip.net/displaytag-examples-1.1/example-paging.jsp

VRaptor2
http://vraptor2.sourceforge.net/

Neste caso eu acho melhor gerar o HTML fora do JSP.
Dependendo a complexidade dos seus formulários fica tudo misturado.

Tente usar uma biblioteca da Apache para geração de HTML (não lembro o nome)
Você trata tudo em forma de objetos.

Tem o iText também.
http://www.lowagie.com/iText/tutorial/

Estou tentando encontrar essa lib, mas ainda não descobri qual é. Você tem mais alguma pista?