Jogar List para table

Olá pessoal, criei uma List no java, no caso, uma lista de estados e estou tentando jogar ela para uma tabela através do JavaScript, usei da forma abaixo, dentro do Head, estou chamando no onLoad da pagina, mas retorna somente um elemento do select, o que eu teria que fazer para que ele criasse a tabela com todas as linhas do elemento List??

<script language="javascript" type="text/javascript"> '<% for(Estado e:estados){ %>'; function adicionarLinha(id){ var tbody = document.getElementById(id).getElementsByTagName("tbody")[0]; var row = document.createElement("tr"); var td1 = document.createElement("td"); td1.appendChild(document.createTextNode(' <%= e.getEstNome() %>' )); var td2 = document.createElement("td"); td2.appendChild(document.createTextNode(' <%= e.getEstUF() %>' )); row.appendChild(td1); row.appendChild(td2); tbody.appendChild(row); } '<%} %>' ; </script>

Dessa forma, está voltando somente a última linha do select.

Bom, consegui fazer ele criar a tabela toda, dessa forma:

[code][/code]
Agora, estou chamando essa função no onClick de um botao de inserir, mas, ele direciona a pagina para a classe de inserção, e eu gostaria que quando eu clicasse nesse botão, ele apenas limpasse a tabela e criasse a mesma novamente com o resultado do select, tem como eu fazer isso utilizando JAVA e JavaScript?