Ich lerne, wie man das Java Framework Spring Boot verwendet. Diesmal bei Spring Boot *** Ausgabe der eingegebenen Zeichen *** Jetzt, wo ich es schaffen kann, werde ich es als Memorandum für mich und für Anfänger schreiben.
Da es voller Begriffe war, die ich noch nie zuvor gesehen hatte, wie Variablen und Methoden, die auf dem Weg erscheinen, werde ich es kurz erläutern.
Umgebung: ・ Windows10 ・ Sonnenfinsternis · Java 8 ・ Spring Boot 2.0.4 Release ・ Thymeleaf ・ Maven
Installieren Sie STS über Eclipse Help> Marketplace. Dieser Artikel ist wahnsinnig leicht zu verstehen. [Entwicklung von Webanwendungen ab Spring Tool Suite (STS) und Spring Boot (1)](https://www.techscore.com/blog/2016/11/22/start-with-sts-and-spring-boot- 1 /) Wenn Sie gemäß diesem Artikel fortfahren, ist dies in Ordnung. Abhängigkeiten sind nur Thymeleaf, Maven, Web. Folgen Sie diesem Artikel zu Hallo, Welt!
Folgen Sie der Fortsetzung des oben verlinkten Artikels. Von hier aus ist es schwer zu verstehen, deshalb werde ich es erklären.
Lassen Sie uns zunächst mit der Datei spielen, die während Hello, World! Erstellt wurde.
--Edit HelloController.java (nicht wirklich gut, aber wiederverwenden)
*** Grundlegende Notationserklärung ***
HelloController.java
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
//Es ist ein Controller! Beachten Sie, dass
@Controller
public class HelloController {
//RequestMapping "/"→ Kann beim Zugriff auf die Root-URL aufgerufen werden
//→ Sie können für jede Zugangsadresse eine Methode angeben!
@RequestMapping(value="/",method=RequestMethod.GET)
//Eine praktische, die sowohl Modell als auch Ansicht setzen kann (kann ein Rückgabewert sein)
public ModelAndView index(ModelAndView mav) {
//Namenseinstellungen anzeigen
mav.setViewName("index");
//Stellen Sie den Wert (msg) und das Ausgabezeichen dafür ein
mav.addObject("msg", "Bitte geben Sie Ihren Namen ein:");
return mav;
}
@RequestMapping(value="/",method=RequestMethod.POST)
//"name"Holen Sie sich die Parameter POSTed in und nehmen Sie es als Argument
public ModelAndView send(@RequestParam("name")String name,ModelAndView mav) {
mav.setViewName("index");
mav.addObject("msg", "Hello,"+name+"!");
//Geben Sie den Namen (Eingabewert) als Wert ein
mav.addObject("value",name);
return mav;
}
}
Das Obige ist der Quellcode des Controllers. (Wenn Sie wissen möchten, was ein Controller ist, suchen Sie nach "Java MVC"!)
Da es sich um eine Java-Klasse der Hauptquelle handelt, erstellen Sie sie in src / main / java
.
Normalerweise schreibe ich es als Kommentar, aber die Begriffe, die ich nicht verstehe, lauten wie folgt.
Dieser Artikel wird hilfreich sein. Verschiedene Rückgabewerte auf dem Spring MVC-Controller
Zusamenfassend @Controller wird hauptsächlich für Webseiten-Controller verwendet, @RestController wird separat verwendet Es scheint, dass. Mein Kopf hat noch nicht aufgeholt, aber ich habe irgendwie verstanden, was ich sagen wollte, also als nächstes.
ModelAndView ist eine Funktion von Spring MVC und eine Klasse, die "View" (Objekt, das auf dem Bildschirm angezeigt werden soll) und "Model" (Objekt, um Werte mit der Ansicht auszutauschen) zusammen verarbeiten kann. Indem Sie ModelAndView in das Argument einfügen, können Sie alle Informationen zusammen verwenden. Super praktisch.
setViewName ist "derjenige, der den Ansichtsnamen festlegt". Wenn Sie den Ansichtsnamen in setViewName auf "index" setzen, wird die Ansicht mit dem Namen index verwendet. Was ist ein Ansichtsname? Es scheint, dass es verschiedene Dinge gibt, also werde ich es das nächste Mal untersuchen. Ausgelassen.
Da hier die Thymeleaf-Vorlagen-Engine verwendet wird, wird die Menge "index" als Thymeleaf-Vorlage (templates / index.html) erkannt. Die Ansicht (Bildschirmanzeigeteil) wird basierend auf den Informationen dieses Ansichtsnamens generiert.
Fügen Sie also diesen "ViewName" und die Ausgabezeichen mit dem Namen "msg" in die ModelAndView-Klasse "mav" ein. Dies ist der gute Punkt von ModelAndView.
Wenn Sie also den mav
zurückgeben, können Sie den ViewName
und msg
zusammen an die Client-Seite senden.
Eine Template-Engine wie HTML.
Eine Bibliothek zum Verarbeiten von Programmen, die auf HTML-Vorlagen basieren, die als Vorlagen bezeichnet werden, und zum Ausgeben auf dem Bildschirm. Der Prozess wird ausgeführt, indem ein spezielles Tag interpretiert und ausgeführt wird, um die Arbeit zwischen dem Programmierer und dem Webdesigner aufzuteilen. Smarty ist ein typisches Beispiel für PHP. [Aus dem Weblio-Wörterbuch](https://www.weblio.jp/content/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3 % 83% 88% E3% 82% A8% E3% 83% B3% E3% 82% B8% E3% 83% B3)
Das Folgende ist daher leicht über die Funktionen von Thymeleaf zu verstehen. Was ist Thymeleaf Der Punkt ist, dass im Gegensatz zu der JSP, die nach der Verarbeitung angezeigt wird, diese durch Attributwerte beschrieben wird, sodass sie ohne Verarbeitung normal angezeigt werden kann und schließlich leicht zu erkennen scheint.
Nachdem Sie es bisher verstanden haben (auch in Zackri), bearbeiten Sie index.html.
index.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello Page</title>
</head>
<body>
<!-- th:Text wird als Text in Thymeleaf angegeben,${}Ist eine Variable-->
<p th:text="${msg}">please wait...</p>
<form action="/" method="post">
<input type="text" name="name" th:value="${value}" >
<input type="submit" value="Click">
</form>
</body>
</html>
Fügen Sie den HTML-Code in die Vorlagendatei ein.
src/main/resources>templates
Diese HTML-Datei ist in Thymeleaf-Notation geschrieben, nicht wahr? Für die Thymeleaf-Notation sind diese beiden Artikel leicht zu verstehen. Beherrsche Thymeleaf vollständig mit der minimal erforderlichen Probe Thymeleaf-Standardausdruckssyntax
Mit dieser Referenz habe ich es geschrieben und kopiert.
Führen Sie das Projekt in diesem Status als Spring Boot-Anwendung aus.
Ich konnte den Wert sicher weitergeben!
Recommended Posts