如何检索java servlet中的参数

时间:2016-07-31 16:50:59

标签: servlets

我搜索了多个地方,但找不到我需要的地方。我是servlets和html的新手,很确定我错过了一些简单的东西。

我在其中有一个servlet servletA&do; doGet,我执行以下操作:

response.setContentType("text/html");

PrintWriter out = response.getWriter();
StringBuilder sb = new StringBuilder();
sb.append("<html><head></head><body>");
sb.append("<div><select name=\"thisparameter\">");
ArrayList<A> list = helper.getList(); 
sb.append("<option value=\"select\">Select an option</option>");
for (int i=0; i<list.size(); i++) {
   A a = list.get(i);
   sb.append("<option value="+ a.getYear()+">" + a.getName() + "</option>");
}
sb.append("</select>");
sb.append("<form action=\"servletB\" method=\"GET\">\n" +
"    <button type=\"submit\">Go</button>\n" +
"</form></div>");

sb.append("</body>");
sb.append("</html>");
out.println(sb.toString());
out.close();

在servletB的doGet()

PrintWriter out = response.getWriter();
StringBuilder sb = ServletHelper.getHeaderHtml();

response.setContentType("text/html");

String thisparameter = request.getParameter("thisparameter");

字符串thisparameter始终为null。我尝试了POST并获得了相同的结果。我真的只想使用servlet,而不是与JSP结合使用。任何帮助将受到高度赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

您的select需要位于form内才能提交给servlet。要做到这一点,请更改您的代码。

PrintWriter out = response.getWriter();
StringBuilder sb = new StringBuilder();
sb.append("<html><head></head><body>");
sb.append("<form action=\"servletB\" method=\"GET\">");
sb.append("<div><select name=\"thisparameter\">");
ArrayList<A> list = helper.getList(); 
sb.append("<option value=\"select\">Select an option</option>");
for (int i=0; i<list.size(); i++) {
   A a = list.get(i);
   sb.append("<option value="+ a.getYear()+">" + a.getName() + "</option>");
}
sb.append("</select>");
sb.append("<button type=\"submit\">Go</button>\n" +
"</form></div>");

sb.append("</body>");
sb.append("</html>");
out.println(sb.toString());
out.close();