6 Stimmen

Kann ich zwei Submit-Buttons in einer JSP zu zwei verschiedenen Controllern haben?

Ich arbeite an einem Projekt, in dem es eine Funktionalität geben muss, die es den Benutzern ermöglicht, bestimmte Zeilen einer Tabelle zu aktualisieren und zu löschen, die ihnen dynamisch angezeigt wird.

Der Benutzer klickt auf eine Optionsschaltfläche, um auszuwählen, welche Zeile er aktualisieren oder löschen möchte, und klickt dann entweder auf die Schaltfläche "Aktualisieren" oder "Senden".

Je nachdem, ob er Aktualisieren oder Löschen wählt, muss ich den Inhalt der ausgewählten Zeile an ein Servlet übergeben. Das Servlet für die Aktualisierung unterscheidet sich jedoch von dem für die Löschung. Ich kann das Url-Muster nicht im Action-Attribut des Formulars angeben, da die Werte je nach Wahl des Benutzers an zwei verschiedene Servlets übertragen werden müssen.

Ist es möglich, dies zu erreichen?

Bitte schlagen Sie mir ein paar Lösungen für dieses Problem vor.

21voto

Ken Chan Punkte 75086

Der Name der Schaltfläche "Submit" und das Attribut "Value" werden ebenfalls als POSTED angezeigt, wenn Sie auf diese Schaltfläche klicken, um das Formular abzuschicken. Im Servlet können Sie überprüfen, ob Sie diese Parameter erhalten können, um zu wissen, welche Schaltfläche angeklickt wurde.

Nehmen wir zum Beispiel an, Sie haben zwei Schaltflächen, eine zum Aktualisieren und eine zum Löschen

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

Wenn die Aktualisierungsschaltfläche angeklickt wird, wird die Variable update=Update Button Wenn die Schaltfläche "Löschen" angeklickt wird, wird die Variable delete=Delete Button

Dann wird in dem 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
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X