当前位置: 首页 > 知识库问答 >
问题:

如何确定哪个提交类型按钮调用servlet

袁元明
2023-03-14

我有一个里面有表格的表格。每行都有submit类型的按钮,每个按钮都调用一个servlet。每个按钮都有不同的名称属性,但按钮上的标签是相同的。

在被调用的servlet中,我想确定哪个按钮被按下并调用了该servlet。

<form method='POST' action='/Assignment/DateRequestServlet' name='daterequestform'>
    <table padding = '5' border = '1'>
            <tr>
               <td>
                   <button name='button1' type='submit'> Request Date</button>
               </td>
            </tr>
            <tr>
               <td>
                   <button name='button2' type='submit'> Request Date</button>
               </td>
            </tr>
            <tr>
               <td>
                   <button name='button3' type='submit'> Request Date</button>
               </td>
            </tr>
    </table>
</form>

在servlet中,我尝试了req。getAttribute(“名称”)或req。getParameter(“name”),但它们都返回null。

我想做一些将返回按钮名称的事情,即:本例中的button1,button2或button3。

任何帮助都将非常感谢!

诚挚的问候

卢卡斯

共有1个答案

花玄裳
2023-03-14

在按钮中包含“值”:

<button name='button1' type='submit' value='first_one'> Request Date</button>

<button name='button2' type='submit' value='second_one'> Request Date</button>

诸如此类。您将能够在servlet中获得每个按钮的值。

另请参阅 W3Schools 参考。

编辑:我包含了一些适合我的代码:

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Button Test</title>
</head>
<body>
<form method='POST' action='/buttonHandler' name='daterequestform'>
    <table padding = '5' border = '1'>
        <tr>
            <td>
                <button name='button' type='submit' value="button1"> Request Date</button>
            </td>
        </tr>
        <tr>
            <td>
                <button name='button' type='submit' value="button2"> Request Date</button>
            </td>
        </tr>
        <tr>
            <td>
                <button name='button' type='submit' value="button3"> Request Date</button>
            </td>
        </tr>
    </table>
</form>
</body>
</html>

Java

import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(urlPatterns = "/buttonHandler")
public class ButtonHandler extends HttpServlet {

    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response) {
        System.out.println( "you pushed button " + request.getParameter("button"));
    }
}
 类似资料:
  • 问题内容: 目前,我有一个HTML表单,用户可以在其中输入文章的标题和文本。当需要提交时,将显示两个按钮。一种是“保存”他们的文章而不发布它,另一种是“发布”该文章并将其公开。 我正在使用PHP,并且试图找出如何分辨使用了哪个按钮,以便在数据库中存储相应的相应值。 可能应该早些时候提到过,但是我无法分配按钮值,因为按钮是图像,所以文本会显示在其上方。 问题答案: 给每一个属性。仅单击的属性将被发送

  • 问题内容: 我有一个带有两个提交按钮和一些代码的表单: HTML: JavaScript: 当然,这两个提交按钮完成不同的事情。有没有一种方法可以找出按下了哪个按钮,所以以后我可以这样做吗? 理想情况下,我不想修改按钮的代码,而只是具有这种行为的纯JavaScript插件。 我知道Firefox具有,但是我找不到其他浏览器的任何内容。 问题答案: 不在提交事件处理程序中,不。 但是您 可以 做的是

  • 我试图构建一个GUI,它有许多按钮(JButton)/下拉项(JMenuItem),当按下每个包含字母的按钮时,相关的字母将添加到标签中。 我无法识别按下了哪个按钮。你能给我一个关于如何做到这一点的提示吗?

  • 问题内容: 我有4个调用一个功能的按钮。根据所按下的按钮,我需要将按钮隐藏在按下后调用的函数内部。我不知道按下了哪个按钮,因此我尝试为4个按钮中的每个按钮分配标签以通过标签识别它们并使用开关 我试过了 但这不起作用,编译器会说使用未解析的标识符“发送者” 如何正确做到这一点? 编辑: 整体功能 另一种情况。 问题答案: 试试这个, 1)为每个按钮分配标签 2)然后检查您的常用按钮动作

  • 问题内容: 如果提交表单但未通过任何特定按钮提交,例如 通过按 在JS中使用 浏览器应如何确定按下多个提交按钮(如果有)中的哪个? 这在两个层面上都很重要: 调用附加到提交按钮的事件处理程序 数据发送回Web服务器 到目前为止,我的实验表明: 按下时,Firefox,Opera和Safari使用表单中的第一个提交按钮 按下时,IE会使用第一个“提交”按钮,或者根本不使用任何按钮,这取决于我无法弄清

  • 问题内容: 我有以下代码,基本上它正在执行两个操作。第一个是将我的表单数据提交到google电子表格,另一个操作是将我的第二个表单文本框值数据提交到另一个页面文本框值。这个怎么做? 从上面可以看到,这是第一页,第二页是第二种形式的Sankranthi_Reserv2.asp。我想在那儿传递文本框值,所以问题是第一种形式是提交给Google文档并存储数据,但是第二种形式需要将手机号码文本框值传递给下