假设我有两个名为servlet1和servlet2的servlet。
丝绒1
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
...
String htmlFormat = "<h2>Choose a employee</h2>" + "<p>Employee Name: <select name=\"employeeName\" onchange=\"location = this.options[this.selectedIndex].value;\">";
for (Employee employee: employees) {
htmlFormat += "<option value=\"servlet2\">" + employee.getFirstName() + " " + employee.getLastName() + "</option>";
}
htmlFormat += "</select></p>";
out.print(htmlFormat);
}
如您所见,当我单击选项之一时,它会引导我进入servlet2。我想知道是否将用户的click选项(员工的名字+姓氏)值传递给另一个servlet。我需要在servlet2上获取名字和姓氏。请帮助我..谢谢
最佳答案
在您的第一个servlet中,让它输出一个html表单,该表单将POST表单数据回传给服务器:
<form id="usersubmit" action="servlet2"></form>
使您的选择框成为表单数据的一部分。如果您希望表单在更改时提交,则可以使用javascript:
<select name="employeeName" form="usersubmit" onchange="this.form.submit()">
...
</select>
最后,每个
value
标记的<option>
属性应包含您希望发送/检索的值,因此在servlet中,您可以编写:htmlFormat += "<option value=\" " +employee.getFirstName()+ " " +employee.getLastName()+ " \">" + employee.getFirstName() + " " + employee.getLastName() + "</option>";
这应该将所选
option
的值发送到“ servlet2”。要访问servlet2中的值,请使用:request.getParameter("employeeName");