Como criar opções de forma dinâmica

Galera tenho um formulário onde preciso adicionar 27 questões que serão checkbox, porém pode haver meses onde terão mais opções.

Existe alguma forma de criar um lógica desse tipo.

Enquanto tiver opções no meu banco de dados, cria essas opções na minha página jsp.

Isso iria me permitir deletar ou adicionar mais opções sem me preocupar com a manutenção.

Seria o caso de criar a página dinamicamente, e já que você já sabe que precisa usar jsp e banco de dados, qual exatamente a dúvida. Precisa de um exemplo, é isso?

Veja:
http://www.roseindia.net/jsp/online-quiz-application-jsp.shtml
http://javafree.uol.com.br/topic-875911-Qual-melhor-metodo-para-fazer-um-questionario-em-JSP.html

Abraço.

Existem difersas formas de fazer isso. Seguindo o seu modelo, uma forma seria ler as questões do banco antes de carregar a pagina (servlet?!) e coloca-las no escopo da requisição, utilizando uma lista. Dentro da JSP, faça um foreach (JSTL) e imprima as questões na tela.

Para melhorar a performance, poderia carregar as questões utilizando um singleton.
E deixa-las na memória por um tempo X, definido por você.

Vou só explicar melhor,
È um questionário de monitoria, as opções são checkbox do tipo [true ou false].

[ ] Atualizou dados
[ ] Registrou no sistema…etc

…a minha dúvida é, quando eu trouxer as opções do banco precisa chegar no jsp como checkbox. Acho que teria que ter um metodo ou função que cria o checkbox de acordo com a quantidade de opções que tenho no banco, já que essa quantidade pode ser variável.

Ainda não entendi qual a sua dificuldade. Você precisa ter as questões no banco e lê-las, criando um form (html) dinamicamente via jsp.

Exemplo (em nenhuma linguagem):

Banco de dados
Tabela questionario (id int, descricao varchar(100));
Tabela perguntas (id_questionario int, str_pergunta varchar(100), str_checkname varchar(10));

No jsp, algo assim:

int variavel_do_numero_do_questionario = 1; // você pergaria essa variável dinamicamente, de acordo com o questionário a ser mostrado

String sql = "select perguntas.id_questionario, perguntas.str_pergunta, perguntas.str_checkname from operguntas where id_questionario = " + variavel_do_numero_do_questionario;

PreparedStatement ps = new PreparedStatement();
ps.addSQL(sql);

ResultSet = ps.execute();
println("<form>");
for(i = 0; i < ResultSet.getSize(); i++){
   println("<input type='checkbox' name=" + ResultSet.getElementByname("str_checkname") + "value='1'/>" +  ResultSet.getElementByname("str_pergunta"));
}
println("</form>");

Nota: como você deve ter notado, não lembro a sintaxe do jsp, mas a ideia é essa.

Abraço.

[quote=TerraSkilll]Ainda não entendi qual a sua dificuldade. Você precisa ter as questões no banco e lê-las, criando um form (html) dinamicamente via jsp.

Exemplo (em nenhuma linguagem):

Banco de dados
Tabela questionario (id int, descricao varchar(100));
Tabela perguntas (id_questionario int, str_pergunta varchar(100), str_checkname varchar(10));

No jsp, algo assim:

int variavel_do_numero_do_questionario = 1; // você pergaria essa variável dinamicamente, de acordo com o questionário a ser mostrado

String sql = "select perguntas.id_questionario, perguntas.str_pergunta, perguntas.str_checkname from operguntas where id_questionario = " + variavel_do_numero_do_questionario;

PreparedStatement ps = new PreparedStatement();
ps.addSQL(sql);

ResultSet = ps.execute();
println("<form>");
for(i = 0; i < ResultSet.getSize(); i++){
   println("<input type='checkbox' name=" + ResultSet.getElementByname("str_checkname") + "value='1'/>" +  ResultSet.getElementByname("str_pergunta"));
}
println("</form>");

Nota: como você deve ter notado, não lembro a sintaxe do jsp, mas a ideia é essa.

Abraço.[/quote]

è isso mesmo, a minha dúvida era como imprimir o resultset já nesse formato que você mostrou acima.

valeu.