Como receber valor de uma checkbox em JSP?

Como posso receber o valor de um dessas duas checkbox, no meu caso eu queria pegar o nome roupa ou comida.
Eu tenho que pegar os valores selecionados e jogar para um arrayList

     <form name="formcarrinho" method="post" action="">

                          
                                Roupa: <input name="roupa" type="checkbox"/><br>
                          
                                Comida: <input name="comida" type="checkbox"/><br>
                                                     

                            <input name="comprar" type="submit"/>
                           
                        </form>

Acredito que o mais correto seria:

 <form name="formcarrinho" method="post" action="">  
   
                        
                            Roupa: <input name="items[]" value="roupa" type="checkbox"/><br>  
                        
                            Comida: <input name="items[]" value="comida" type="checkbox"/><br>  
                                                   
   
                        <input name="comprar" type="submit"/>  
                         
                    </form>

Coloca um value na sua tag input e pega ela lá na servlet com um request.getParameter();

aqui eu passo o que como parametro ?
items[] ou o value ?

roupa = String.valueOf(request.getParameter(“comida”));

Onde está o erro ?


   <form name="formcarrinho" method="post" action="">

                            Roupa: <input name="item[]" type="checkbox" value="roupa" /><br>

                            Comida: <input name="item[]" type="checkbox" value="comida"/><br>

                           

                                <input name="comprar" type="submit"/>

                        </form>
                  
        </center>

        <%

                    String comprar = "";
                    String roupa = "";
                    String comida = "";

                    comprar = String.valueOf(request.getParameter("comprar"));
                    if (comprar.equalsIgnoreCase("comprar")) {

                        roupa = String.valueOf(request.getParameter("roupa")); //<-----------
                        comida = String.valueOf(request.getParameter("comida"));//<----------

                    }

                    out.println(roupa);
                    out.println(comida);
        %>

?

[quote=felipevs]Onde está o erro ?


   <form name="formcarrinho" method="post" action="">

                            Roupa: <input name="item[]" type="checkbox" value="roupa" /><br>

                            Comida: <input name="item[]" type="checkbox" value="comida"/><br>

                           

                                <input name="comprar" type="submit"/>

                        </form>
                  
        </center>

        <%

                    String comprar = "";
                    String roupa = "";
                    String comida = "";

                    comprar = String.valueOf(request.getParameter("comprar"));
                    if (comprar.equalsIgnoreCase("comprar")) {

                        roupa = String.valueOf(request.getParameter("roupa")); //<-----------
                        comida = String.valueOf(request.getParameter("comida"));//<----------

                    }

                    out.println(roupa);
                    out.println(comida);
        %>

[/quote]

o seu input:

 <input name="comprar" type="submit"/>

Não tem um value… então ele não entra no if:

if (comprar.equalsIgnoreCase("comprar")) {

E meu amigo… Use Servlet para fazer isso aí. Acho q ficaria melhor.