Lassen Sie uns eine TODO-App in Java 4 erstellen. Implementierung der Buchungsfunktion

Hallo. Dieses Mal möchte ich den Teil der Posting-Funktion der TODO-Anwendung in Java ausführen.

Übrigens habe ich diesmal nicht auf die Validierung eingegangen, aber ich werde die Methode nur für die normale Verarbeitung einführen, da sie in einem späteren Artikel erscheinen wird.

Linkerfassung zur Erstellung von TODO-Anwendungen

1: Kurze Beschreibung von MVC 2: Ich möchte eine Vorlage mit Spring Initializr erstellen und eine Hallo-Welt erstellen 3: Temporäre Daten in MySQL speichern-> Alle abrufen-> Oben anzeigen 4: Implementierung der Buchungsfunktion (hier und jetzt)

Erstellen Sie eine TodoForm-Klasse

Zunächst möchte ich einen Container für Daten vorbereiten, wenn der Benutzer TODO registriert. Dieses Mal möchte ich es in der TodoForm-Klasse implementieren.

Ich denke, dass die Hierarchie zum Erstellen von Klassen dieselbe sein sollte wie bei TodoContoroller.

java/com/example/todo/TodoForm.java


@Data
public class TodoForm {
    private long Id;

    @NotNull
    @Size(min = 1, max =30)
    private String title;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate deadline;

    private boolean status;
}

↑ Es sollte so sein.

Wenn Sie keine Anmerkungen verwenden können ...

Es scheint, dass sich die Spezifikationen gegenüber Spring 2.3 geändert haben. Sie müssen sie daher manuell hinzufügen, um Anmerkungen vom Validierungstyp zu verwenden.

build.gradle



dependencies {
  	compile group: 'javax.validation', name: 'validation-api', version: '2.0.1.Final'
}

Wenn Sie die oben genannten Abhängigkeiten hinzufügen, können Sie @Size usw. verwenden!

Fügen Sie Logik hinzu, um TODO in TodoService zu speichern

Als nächstes wird der Dienst bearbeitet.

java/com/example/todo/TodoService.java


@Service
@RequiredArgsConstructor
public class TodoService {
    private final TodoRepository todoRepository;

    //~ Abkürzung ~
    public void setTodo(TodoForm formData) {
        TodoEntity todo = new TodoEntity();
        todo.setTitle(formData.getTitle());
        todo.setDeadline(formData.getDeadline());
        todoRepository.save(todo);
    }
}

Da wir diesmal nur registrieren, wird der Rückgabewert auf void gesetzt.

Legen Sie den TodoForm-Typ formData fest, der als Argument in der neu erstellten TodoEntity übergeben wurde, und speichern Sie ihn. Da set ~~ und get ~~ in jeder Klasse mit @Data verknüpft sind, kann LomBok automatisch Setter und Getter erstellen und verwenden.

Es kann schwierig sein, diesen Bereich zu verstehen, wenn Sie Lombok plötzlich verwenden. Wenn Sie also tiefer verstehen möchten, sollten Sie das Konzept des Getter-Setzers untersuchen.

Speichern Sie es abschließend mit der Repository-Klassenfunktion save und speichern Sie es in der DB!

Rufen Sie eine Serviceklassenfunktion von TodoContoroller auf

Nachdem die Service-Klasse implementiert wurde, rufen wir sie vom Controller aus auf!

python


@Controller
@RequiredArgsConstructor
public class TodoController {

    // ~Abkürzung~
    @PostMapping("/register")
    public String register(@ModelAttribute TodoForm formData) {
        todoService.setTodo(formData);
        return "redirect:/top";
    }
}

Was ich hier beachten möchte, ist die Annotation @ModelAttribute!

Diese Anmerkung hat unterschiedliche Verwendungszwecke, je nachdem, ob sie als Argument oder unmittelbar vor einer Methode verwendet wird!

Diesmal werden die von der Vorderseite gesendeten Daten in den TodoForm-Typ umgewandelt, damit sie in der Funktion verwendet werden können.

Auf der Website hier finden Sie leicht verständliche Erklärungen.

Registrieren Sie TODO in der Datenbank, indem Sie formData an das zuvor erstellte setTodo senden.

Wenn die Verarbeitung abgeschlossen ist, wechselt sie zu / top.

Bearbeiten der TOP-Seite

Zum Schluss bearbeiten wir die Vorderseite!

python


~Abkürzung
<body>
    <!--Formular posten-->
    <div class=" w-75 h-auto my-1 mx-auto pt-5">
        <p class="pl-5">Erstellen Sie eine neue Aufgabe</p>
        <form th:action="@{/register}" th:object="${ToDoForm}" method="POST" class="container d-flex w-auto my-0 mx-auto">
            <div class="w-100">
                <label class="row">
                    <span class="col-2 text-center">ToDo Name</span>
                    <input type="text" name="title" placeholder="Geben Sie ToDo innerhalb von 30 Zeichen ein" class="col-9">
                </label>
                <label class="row my-0">
                    <span class="col-2 text-center">Frist</span>
                    <input type="date" id="date" name="deadline" class="col-9 my-0">
                </label>
            </div>
            <button class="btn btn-primary w-25 col-2 mr-3" type="submit">ToDo hinzufügen</button>
        </form>
    </div>
</body>

Der registrierte Inhalt wird zu der Funktion des Controllers übersprungen, der in der Aktion th / zugeordnet ist.

Da method = "POST" ist, werden außerdem detaillierte Spezifikationen wie POST- und / oder Registerfunktionen angegeben.

Diese Idee ist sehr wichtig, um die Natur der HTTP-Methoden zu verstehen. Sie können daher auf die Website hier verweisen.

Mit dem Objekt th: wird der Container für die übertragenen Daten angegeben.

Die übermittelten Daten werden in das TodoForm-Objekt eingefügt, das ganz am Anfang dieses Artikels erstellt wurde.

Wenn die Registrierungstaste gedrückt wird

 <input type="text" name="title" placeholder="Geben Sie ToDo innerhalb von 30 Zeichen ein" class="col-9">

Der in name = "title" eingegebene Inhalt wird in der Variablen mit demselben Namen (natürlich Titel) der FormData-Klasse gespeichert.

Eine kurze Zusammenfassung

Wie war es? Kurz zusammengefasst ...

  1. Die Rezeption sendet die erforderlichen Daten an TODO
  2. Das Ziel wird durch th: action ~~ und mesod = ~~ angegeben. Die übertragenen Daten werden in einem bestimmten Objekt gespeichert (diesmal FormData genannt).

Recommended Posts

Lassen Sie uns eine TODO-App in Java 4 erstellen. Implementierung der Buchungsfunktion
Lassen Sie uns eine TODO-App in Java 6 erstellen. Implementierung der Suchfunktion
Lassen Sie uns eine TODO-App in Java 8 erstellen. Implementierung von Bearbeitungsfunktionen
Erstellen wir eine TODO-Anwendung mit Java 1 Kurze Erläuterung von MVC
Lassen Sie uns eine TODO-App in Java 5 erstellen. Schalten Sie die Anzeige von TODO um
Implementierung einer ähnlichen Funktion in Java
Erstellen wir eine TODO-Anwendung mit Java 11-Ausnahmebehandlung, wenn Sie mit einer nicht vorhandenen ID auf TODO zugreifen
Erstellen Sie eine TODO-App in Java 7 Create Header
Lassen Sie uns mit Java ein supereinfaches Webframework erstellen
Erstellen wir eine TODO-App in Java 13 TODO-Formularvalidierung 1: Zeichenbegrenzung · Gradle-Update zur Verwendung von @Validated
Erstellen wir eine TODO-App mit Java 3 Speichern Sie temporäre Daten in MySQL-> Get all-> Display on top
Erstellen wir eine Taschenrechner-App mit Java ~ Erstellen Sie einen Anzeigebereich im Fenster
Java-Implementierung von Tri-Tree
Erstellen wir eine TODO-App in Java 9 Erstellen einer TODO-Anzeige Sortieren nach Datum und Uhrzeit + Setzen Sie das Fälligkeitsdatum auf das aktuelle Datum
Lassen Sie uns eine TODO-Anwendung mit Java 2 erstellen. Ich möchte eine Vorlage mit Spring Initializr erstellen und eine Hello-Welt erstellen
Erstellen wir eine Taschenrechner-App mit Java ~ Zeigen Sie das Anwendungsfenster an
Erstellen wir eine TODO-Anwendung mit Java 12-Verarbeitung, wenn eine Anforderung mit einer nicht verwendeten HttpMethod eingeht. ・ Verarbeitung, wenn ein Fehler auf dem Server auftritt
[Implementierungsverfahren] Erstellen Sie eine Benutzerauthentifizierungsfunktion mithilfe von Hexerei in Rails
Implementierung von DBlayer in Java (RDB, MySQL)
Lassen Sie uns eine Java-Entwicklungsumgebung erstellen (Aktualisierung)
Rolle von JSP in Webanwendungen [Java]
Umfang des Versuchs, eine Java-Webanwendung unter Windows Server 2016 zu erstellen
Erstellen Sie die Authentifizierungsfunktion in der Rails-Anwendung mit devise
Erstellen Sie eine CSR mit erweiterten Informationen in Java
Benötigen Sie eine speicherbewusste Implementierung von Java?
Lassen Sie uns mit Javas Timer einen zeitgesteuerten Prozess erstellen! !!
Messen Sie die Größe eines Ordners mit Java
Versuchen Sie, ein Bulletin Board in Java zu erstellen
Erstellen Sie mit SwiftUI 2.0 eine benutzerdefinierte Registerkartenansicht
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Einführung]
[JQuery] Implementierungsverfahren der AutoComplete-Funktion [Java / Spring]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Einführung]
Ein kurzer Überblick über Java, das im Unterricht gelernt wurde
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [99. Mod-Ausgabe]
Erstellen wir eine vielseitige Dateispeicher (?) - Operationsbibliothek, indem wir die Dateispeicherung / -erfassung mit Java abstrahieren
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [0. Basisdatei]
Interpreter-Implementierung durch Java
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [4. Tools hinzufügen]
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
Ein kurzer Überblick über Java, das in Klasse 4 gelernt wurde
[Java] Erstellen Sie einen Filter
[Java] Lass uns einen Minecraft Mod 1.14.4 erstellen [5. Rüstung hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Extra Edition]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [7. Fortschritt hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [6. Rezept hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Element hinzufügen]
Implementierung der Suchfunktion
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Basisdatei]
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [1. Element hinzufügen]
So erstellen Sie einen Daten-URI (base64) in Java
Boyer-Moore-Implementierung in Java
Lass uns einen Roboter bauen! "Eine einfache Demo von Java AWT Robot"
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Implementierung der Heap-Sortierung (in Java)
Ein kurzer Überblick über Java, das in Klasse 3 gelernt wurde
Implementierung der Pagenationsfunktion