使用JAVA(jsp)检查选中的复选框

使用JAVA(jsp)检查选中的复选框,java,html,jsp,Java,Html,Jsp,我试图创建一个servlet,当用户选择他想要的复选框数量并单击“确认”按钮时,它会显示一个带有复选框的简单表单。我的servlet中的POST请求会检查哪些复选框已被选中,并基于数据库查询 我不确定如何在Java中执行此操作,因为用户可能会选择1个或多个复选框。如果有人能用一个小例子来解释这一点,那就太好了 我对编程非常陌生,如果我知道如何做,我会提供一个代码片段。在servlet中,您可以像这样使用getParameter(): 如果未选中该框,该函数将返回null。所以你可以这样做: bo

我试图创建一个servlet,当用户选择他想要的复选框数量并单击“确认”按钮时,它会显示一个带有复选框的简单表单。我的servlet中的POST请求会检查哪些复选框已被选中,并基于数据库查询

我不确定如何在Java中执行此操作,因为用户可能会选择1个或多个复选框。如果有人能用一个小例子来解释这一点,那就太好了


我对编程非常陌生,如果我知道如何做,我会提供一个代码片段。

在servlet中,您可以像这样使用getParameter():

如果未选中该框,该函数将返回null。所以你可以这样做:

boolean myCheckBox = request.getParameter( "id_of_checkbox" ) != null;

现在,如果选中myCheckBox,则为true;如果未选中,则为false。

这实际上是HTML表单行为问题。当您选中几个带有一个“名称”属性和不同“值”属性的复选框并按“提交”按钮时,浏览器将向服务器发送带有选中复选框值的请求。因此,您可以从该url参数获取值名称

例如:

<form name="input" action="html_form_action.asp" method="get">
<input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
<input type="checkbox" name="vehicle" value="Car">I have a car 
<br><br>
<input type="submit" value="Submit">
</form>
之后,您可以获得如下值:

String checkboxValues = request.getParameter("vehicle");
checkboxValues获取所有以逗号分隔的值。


<%@ page language="java"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>JSP Multiple Checkbox</title>
    </head>
    <body>
        <form name="form1" onsubmit="checkBoxValidation()">
            <h3>Select your favorite Fruits</h3>
            <p><input type="checkbox" name="fruit" value="Mango"/>Mango</p>
            <p><input type="checkbox" name="fruit" value="Apple"/>Apple</p>
            <p><input type="checkbox" name="fruit" value="Grapes"/>Grapes</p>
            <p><input type="checkbox" name="fruit" value="Papaya"/>Papaya</p>
            <p><input type="checkbox" name="fruit" value="Lychee"/>Lychee</p>
            <p><input type="checkbox" name="fruit" value="Pineapple"/>Pineapple</p>
            <p><input type="submit" value="submit"/>
        </form>
        <%String fruits[]= request.getParameterValues("fruit");
        if(fruits != null){%>
        <h4>I likes fruit/s mostly</h4>
        <ul><%for(int i=0; i<fruits.length; i++){%>
            <li><%=fruits[i]%></li><%}%>
        </ul><%}%>
    </body>
</html>
JSP多个复选框 选择你最喜欢的水果 芒果

苹果

葡萄

木瓜

荔枝

菠萝

我最喜欢水果
    如果您只需要输出,这个可能会更整洁。假设您使用的是jstl库,我更喜欢jstl库,因为它使页面更干净:

    <c:forEach var='fruitValue' items='${paramValues.fruit}'> 
       ${fruitValue} <br>
    </c:forEach>
    
    
    ${fruitValue}

    在我的例子中,虽然我选择了多个复选框,并且我的查询字符串的两个值与您所说的相似,但我只收到1个值。实际上,要检索具有相同名称的所有参数,请使用
    request.getParameterValues(name)
    <%@ page language="java"%>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
            <title>JSP Multiple Checkbox</title>
        </head>
        <body>
            <form name="form1" onsubmit="checkBoxValidation()">
                <h3>Select your favorite Fruits</h3>
                <p><input type="checkbox" name="fruit" value="Mango"/>Mango</p>
                <p><input type="checkbox" name="fruit" value="Apple"/>Apple</p>
                <p><input type="checkbox" name="fruit" value="Grapes"/>Grapes</p>
                <p><input type="checkbox" name="fruit" value="Papaya"/>Papaya</p>
                <p><input type="checkbox" name="fruit" value="Lychee"/>Lychee</p>
                <p><input type="checkbox" name="fruit" value="Pineapple"/>Pineapple</p>
                <p><input type="submit" value="submit"/>
            </form>
            <%String fruits[]= request.getParameterValues("fruit");
            if(fruits != null){%>
            <h4>I likes fruit/s mostly</h4>
            <ul><%for(int i=0; i<fruits.length; i++){%>
                <li><%=fruits[i]%></li><%}%>
            </ul><%}%>
        </body>
    </html>
    
    <c:forEach var='fruitValue' items='${paramValues.fruit}'> 
       ${fruitValue} <br>
    </c:forEach>