Java 如何将html页面(JSP)中选定的信息发送到servlet?
我正在尝试使用servlet(ExportDB.java)向数据库发送查询。我试图将数据从下拉列表发送到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<
<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;
}
}