我可以在一个jsp中有两个提交按钮到两个不同的控制器吗?

时间:2011-07-10 05:15:53

标签: forms jsp servlets

我正在开发一个项目,其中必须有一项功能,允许用户更新和删除将动态显示给他们的表格的某些行。

用户将单击单选按钮以选择要更新或删除的行,然后单击更新或提交按钮。

根据他对更新或删除的选择,我必须将所选行的内容传递给一个servlet。 现在,用于更新的servlet与delete的servlet不同。 我不能在表单的action属性中提到url模式,因为我需要根据用户的选择将值传输到2个不同的servlet。

有可能实现这个目标吗?

请为我提出一些解决此问题的方案。

1 个答案:

答案 0 :(得分:18)

如果单击该按钮提交表单,则提交按钮的名称和值的属性也将被POSTED。在servlet中,您可以检查是否可以获取这些参数以了解单击了哪个按钮。

例如,假设您有两个按钮,一个用于更新,另一个用于删除

<input type="submit" name="update" value="Update Button">
<input type="submit" name="delete" value="Delete Button">

如果点击更新按钮,它会发布变量update=Update Button 如果单击删除按钮,它将发布变量delete=Delete Button

然后在servlet中:

    if (request.getParameter("update") != null) {
        //update button is clicked
        //Do the update action or forward the request to the servlet to do update action 

    } else if (request.getParameter("delete") != null) {
          //delete button is clicked
          //Do the delete action or forward the request to the servlet to do delete action
    }