Pessoal sou bastante leigo ainda em programação web e estou com um problema que não consigo entender(não reparem na "burrice" rs), tenho em uma página(JSP) um formulário para que o usuário possa preencher com seus dados(Nome,Telefone,E-mail e Sexo) e abaixo alguns checkboxes com estilos musicais para que o usuário escolha os de sua preferência(Rock, Pop-Rock,Clássicas,Sertanejo,Jazz), porém quando faço a impressão da página com os dados do usuário no Servlet o resultado dos checkboxes só aparecem se tiverem sidos marcados em sequencia começando a partir do primeiro, e se pular algum só mostram os primeiros,vou explicar melhor:
Página:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Formulário 2</title>
</head>
<body>
<h1 align="center"><b>Formulário</b></h1>
<form action="../Atividade2" method="get">
Nome: <input type="text" name="nome"><br>
Telefone: <input type="text" name="telefone"><br>
E-mail: <input type="text" name="email"><br><br>
Sexo: Masculino<input type="radio" name="sexo" value="M"> Feminino<input type="radio" name="sexo" value="M"><br><br>
<b><i>.::Preferências musicais::.</b></i><br><br>
<input type="checkbox" name="g1" value="Rock">Rock<br>
<input type="checkbox" name="g2" value="Pop-Rock">Pop-Rock<br>
<input type="checkbox" name="g3" value="Classicas">Clássicas<br>
<input type="checkbox" name="g4" value="Sertanejo">Sertanejo<br>
<input type="checkbox" name="g5" value="Jazz">Jazz<br><br>
<input type="submit" value="Enviar"> <input type="reset" value="Limpar"><br>
</form>
</body>
</html>
Como vcs podem ver, a ordem dos checkboxes é:
1-Rock
2-Pop-Rock
3-Classicas
4-Sertanejo
5-Jazz
Daí o problema, se eu marcar apenas Rock, imprime Rock normal, se eu marcar Rock,Pop-Rock e Classicas tbm, agora se eu marcar esses 3 e desmarcar Pop-Rock(entre Rock e Classicas) já não imprime mais Clássicas, só Rock.. ou se eu marcar Rock, Pop-Rock e Jazz só imprime até Pop-Rock, para imprimir Jazz tem que marcar todas até o final, entenderam? kk..tipo só ta saindo se tiver marcado na sequencia como se estivesse todos ligados, se quebrar algum do meio o restante abaixo não imprime.
E o Servlet:
package pacote1;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author maickon
*/
public class Atividade2 extends HttpServlet {
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Atividade1</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Dados:</h1>");
out.println("<b>Nome: " + request.getParameter("nome") + "</b><br>");
out.println("<b>Telefone: " + request.getParameter("telefone") + "</b><br>");
out.println("<b>E-mail: " + request.getParameter("email") + "</b><br>");
if(request.getParameter("sexo").equals("M")){
out.println("<b>Sexo: Masculino</b><br><br>");
}
else{
out.println("<b>Sexo: Feminino</b><br><br>");
}
out.println("<b>Gostos Musicais:<br><br>");
if(request.getParameter("g1").equals("null")!= true){
out.println(request.getParameter("g1") + "<br>");
}
if(request.getParameter("g2").equals("null")!= true){
out.println(request.getParameter("g2")+ "<br>");
}
if(request.getParameter("g3").equals("null")!= true){
out.println(request.getParameter("g3")+ "<br>");
}
if(request.getParameter("g4").equals("null")!= true){
out.println(request.getParameter("g4")+ "<br>");
}
if(request.getParameter("g5").equals("null")!= true){
out.println(request.getParameter("g5")+ "<br>");
}
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
....
