Qualidade do código das implementações JSF

Sou novato nesse mundo, e uma das dúvidas que tenho é: se todas as implementações JSF geram um código HTML tão “porco”? Digo isso porque tudo que preciso aplicar algum CSS ou coisa do gênero, vou olhar e tem 300 tabelas, dentro de mais 150 tabelas. Ficando praticamente impossível aplicar qualquer design de uma pessoa que não tenha visto totalmente a interface pronta antes de realmente pensar no design.

Qual a solução ou maneira que vocês usam/trabalham para resolver esse tipo de questão? Essa qualidade “ruim” é por conta das implementações e componentes?

Olá.

Use Facelets e acabaram os seus problemas.

Mas aí estou indo um nível mais abaixo e perdendo as “facilidades” dos componentes, não é?

Nada… você pode fazer o contrário…

Pegue o seu arquivo html vindo do designer e insira as tags do facelets.

http://www.jsfcentral.com/articles/facelets_1.html