我正在使用Servlet和JSP。我有一个表单,我有一个下拉列表,动态填充。现在,一旦我从该下拉列表中选择了任何项目,我想在servlet中的doPost方法中打印出所选项目。通常,我需要将选定的下拉列表传递给servlet。
下面是我的doPost方法 -
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("hello");
// somehow this prints out null
System.out.println(request.getParameter("accounts"));
}
以下是我的jsp页面 -
<form id="form_delete" method="post" action="/dataservlet/">
<h3> Delete Existing Item</h3>
<div class="line"><label for="accounts">Choose an existing item : </label> <select id="accounts"></select></div>
<div class="line submit"><input type="submit" value="Delete Item"/></div>
</form>
从上面的JSP页面中,我在下拉列表中选择的任何项目都没有被打印出来。我做错了什么?
答案 0 :(得分:2)
使用name
属性也将成为请求参数的一部分。
应该是
<select name="accounts">
而不是
<select id="accounts">
您似乎期望HTML输入元素的id属性已作为请求参数名称发送。这是错的。它是作为请求参数名称发送的名称属性。 (Read more)