Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将html页面(JSP)中选定的信息发送到servlet?_Java_Html_Jsp_Servlets - Fatal编程技术网

Java 如何将html页面(JSP)中选定的信息发送到servlet?

Java 如何将html页面(JSP)中选定的信息发送到servlet?,java,html,jsp,servlets,Java,Html,Jsp,Servlets,我正在尝试使用servlet(ExportDB.java)向数据库发送查询。我试图将数据从下拉列表发送到servlet。这是包含列表的表单 <form> <select name="day"> <option value=""></option> <option value="01">01</option> <option value="02">02<

我正在尝试使用servlet(ExportDB.java)向数据库发送查询。我试图将数据从下拉列表发送到servlet。这是包含列表的表单

<form>
    <select name="day">
        <option value=""></option>
        <option value="01">01</option>
        <option value="02">02</option>
        ...
        <option value="30">30</option>
        <option value="31">31</option>
    </select>
    <select name="month">
        <option value=""></option>
        <option value="01">01</option>
        <option value="02">02</option>
        ...
        <option value="11">11</option>
        <option value="12">12</option>
    </select>
    <select name="year">
        <option value=""></option>
        <option value="2013">2013</option>
        ...
        <option value="2029">2029</option>
        <option value="2030">2030</option>
    </select>
    <input type="submit" value="Export" onclick="exportDB()"/>
    <script type="text/javascript">
        function exportDB() {
        window.open('ExportDB');
        }
    </script>
</form>
这就是我认为我的错误所在。我不太清楚如何将信息链接到servlet。我如何才能做到这一点,使它的工作?还有,为什么我现在的方式不起作用呢?

你试过吗

<form action="ExportDB" target="_blank">
<select name="day">
    <option value=""></option>
    <option value="01">01</option>
    <option value="02">02</option>
    ...
    <option value="30">30</option>
    <option value="31">31</option>
</select>
<select name="month">
    <option value=""></option>
    <option value="01">01</option>
    <option value="02">02</option>
    ...
    <option value="11">11</option>
    <option value="12">12</option>
</select>
<select name="year">
    <option value=""></option>
    <option value="2013">2013</option>
    ...
    <option value="2029">2029</option>
    <option value="2030">2030</option>
</select>
<input type="submit" value="Export" />
</form>
您应该在表单中添加method=“post”

<form action="ExportDB" target="_blank" method="POST">

GET也是如此


<form action="..." method="POST">

if (request.getMethod().equals("POST")) {
    String dayParam = request.getParameter("day");
    ...

    try {
        int day = Integer.parseInt(dayParam, 10);
        ...
    } catch (NumberFormatException e) {
        log.error(...); ...
    }
    if (form data okay) {
       response.sendRedirect(...);
       return;
    }
}
if(request.getMethod().equals(“POST”)){ 字符串dayParam=request.getParameter(“天”); ... 试一试{ int day=Integer.parseInt(dayParam,10); ... }捕获(数字格式){ log.error(…)。。。 } 如果(表格数据正常){ 响应。发送重定向(…); 返回; } }

我看不出有多少错误,缺少行动和方法;必须有(使用web.xml)一个url模式来捕获操作url。您可以区分GET(显示表单)和POST(接收结果。

是否尝试将
id
属性添加到
select
<form action="ExportDB" target="_blank" method="POST">
<form action="..." method="POST">

if (request.getMethod().equals("POST")) {
    String dayParam = request.getParameter("day");
    ...

    try {
        int day = Integer.parseInt(dayParam, 10);
        ...
    } catch (NumberFormatException e) {
        log.error(...); ...
    }
    if (form data okay) {
       response.sendRedirect(...);
       return;
    }
}