JSF: Tem como ser mais flexível?

Estou retomando meus estudos com JSF depois de ter ficado um tanto desmotivado.

Bem, eu estou remodelando a camada de apresentação de struts para JSF e estou tendo um bocado de dificuldades. Começando pela tela de login: Minha tela de login é tipo a tela de login do site submarino, onde escolhe uma radio que habilita um passwordfield para usuário cadastrado e outra radio para novo usuário que habilita um textfiled para o endereço de email. Não consegui fazer isso com JSF pois as tags selectOneRadio adiciona tabelas para organização do componente e renomeia as IDs.

Lendo o livro da core, vi que um modo de organizar os componentes é utilizando data tables. O pró é que todo o projeto é feito utilizando o conceito de tableless, e utilizando tabelas sofrerá um impacto muito grande.

Tem algum modo que posso organizar esse componente sem utilizar tabela ou tenho que me conformar com isso? Alguém teve esse tipo de dificuldade na migração de struts e afins para JSF? Tive a primeira impressão que JSF é muito fechado e com os componentes nativos pouco maleáveis; tomara que tenha percebido errado.

Obrigado.