【问题标题】:Retrieving unique HTML form input in Java Servlet在 Java Servlet 中检索唯一的 HTML 表单输入
【发布时间】:2023-03-21 21:50:01
【问题描述】:

我被困在一个十字路口,试图弄清楚如何解决我需要解决的问题。

我有一个如下所示的表格 (HTML):

+----+------------+----------+---------------------+----------+
| id | filename   | uploader | upload_time         | DELETE?  |
+----+------------+----------+---------------------+----------+
|  1 | backup.txt | user1    | 2014-06-10 13:39:41 | [BTN]    |
|  2 | test.txt   | user2    | 2014-06-11 16:57:01 | [BTN]    |
+----+------------+----------+---------------------+----------+

问题与最后一列有关。当用户单击按钮时,我需要确定行,并将该数据发送到 servlet。

我知道如何处理 servlet 内外的所有内容,但我不知道如何将数据发送到 servlet,以便它知道用户点击了哪个按钮。

谁能提出一个好的方法来解决这个问题?

【问题讨论】:

    标签: java html servlets


    【解决方案1】:

    为每个按钮创建一个表单,隐藏的输入包含 id :

    按钮 1:

    <form action="/yourServlet" method="POST">
       <input name="id" type="hidden" value="1">
       <input type="submit" value="delete 1">
    </form>
    

    按钮 2:

    <form action="/yourServlet"  method="POST">
       <input name="id" type="hidden" value="2">
       <input type="submit" value="delete 2">
    </form>
    

    【讨论】:

    • 这正是我想要的。谢谢!
    【解决方案2】:

    给每个按钮一个特殊的名称:TopButtonBottomButton。当TopButton 被按下时,它会做你想做的事。当按下BottomButton 时,它会做你想做的事。你可以这样做:

    TopButton.addActionListener(new ActionListener {
        public void ActionPerformed(ActionEvent event) {    
            System.out.println("The TopButton has been pressed!");    
        }    
    });
    
    BottomButton.addActionListener(new ActionListener {    
        public void ActionPerformed(ActionEvent event) {  
            System.out.println("The BottomButton has been pressed!");    
        }    
    });
    

    【讨论】:

    • 不是真正的基于网络的解决方案,这似乎是 OP 正在寻找的。​​span>
    • @DaveNewton 你是对的。这似乎是为 Java Frames 设计的解决方案。与手头的问题完全无关。
    猜你喜欢
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多