javascript - 从选项 html 标记中检索值并传递给另一个 servlet

标签 javascript html jsp servlets select

假设我有两个 servlet,分别称为 servlet1 和 servlet2。

服务器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。我想知道我是否将用户的单击选项(员工名字 + 姓氏)值传递给另一个 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");

关于javascript - 从选项 html 标记中检索值并传递给另一个 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23792697/

相关文章:

html - CSS 内容宽度/ float 问题

javascript - 验证 10 位手机号码和焦点输入字段无效

javascript - 如何使用发布请求打开新选项卡?

java - 如何在 Jsp 中屏蔽文本字段中的几个字符

java - java程序的JSON问题

java - 登录-注销 session 无法正常工作

javascript - 被 JavaScript 隐藏的必需 JSF 输入组件仍然经过验证

javascript - 窗口 onload 事件有时会丢失

javascript concat 与推送基准

javascript - 使用程序调用返回的数据填充 Javascript 对象