J'étudie comment utiliser le framework Java Spring Boot. Cette fois à Spring Boot *** Sortie des caractères saisis *** Maintenant que je peux le faire, je vais l'écrire comme un mémorandum pour moi et pour les débutants.
Comme il était plein de termes que je n'avais jamais vus auparavant, tels que des variables et des méthodes qui apparaissent en cours de route, je vais l'expliquer un peu.
environnement: ・ Windows10 · Éclipse · Java 8 ・ Sortie de Spring Boot 2.0.4 ・ Thymeleaf ・ Maven
Installez STS à partir de l'aide Eclipse> Marketplace. Cet article est incroyablement facile à comprendre. [Développement d'applications Web à partir de Spring Tool Suite (STS) et Spring Boot (1)](https://www.techscore.com/blog/2016/11/22/start-with-sts-and-spring-boot- 1 /) Si vous procédez selon cet article, tout va bien. Les dépendances sont Thymeleaf, Maven, Web uniquement. Suivez cet article pour Hello, World!.
Suivez la suite de l'article lié ci-dessus. C'est devenu difficile à comprendre à partir d'ici, je vais donc l'expliquer.
Tout d'abord, jouons avec le fichier créé pendant Hello, World!.
--Edit HelloController.java (pas vraiment bien, mais réutilisez-le) --Modifier index.html
*** Explication de la notation de base ***
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;
//C'est un contrôleur! Notez que
@Controller
public class HelloController {
//RequestMapping "/"→ Peut être appelé lors de l'accès à l'URL racine
//→ Vous pouvez spécifier une méthode pour chaque adresse d'accès!
@RequestMapping(value="/",method=RequestMethod.GET)
//Un modèle pratique qui peut mettre à la fois le modèle et la vue (peut être une valeur de retour)
public ModelAndView index(ModelAndView mav) {
//Afficher les paramètres de nom
mav.setViewName("index");
//Définissez la valeur (msg) et le caractère de sortie correspondant
mav.addObject("msg", "S'il vous plaît entrez votre nom:");
return mav;
}
@RequestMapping(value="/",method=RequestMethod.POST)
//"name"Récupérez les paramètres POSTed et prenez-les comme argument
public ModelAndView send(@RequestParam("name")String name,ModelAndView mav) {
mav.setViewName("index");
mav.addObject("msg", "Hello,"+name+"!");
//Entrez le nom (valeur d'entrée) dans la valeur
mav.addObject("value",name);
return mav;
}
}
Ce qui précède est le code source du contrôleur. (Si vous voulez savoir ce qu'est un contrôleur, recherchez "Java MVC"!)
Puisqu'il s'agit d'une classe Java de la source principale, créez-la dans src / main / java
.
Je l'écris habituellement sous forme de commentaire, mais les termes que je ne comprends pas sont les suivants.
Cet article sera utile. Diverses valeurs de retour sur le contrôleur Spring MVC
En bref @Controller est principalement utilisé pour les contrôleurs de pages Web, @RestController est utilisé séparément Il paraît que. Ma tête n'a pas encore rattrapé, mais j'ai en quelque sorte compris ce que je voulais dire, donc ensuite.
ModelAndView est une fonction de Spring MVC, et est une classe qui peut gérer ensemble "View" (objet à afficher à l'écran) et "Model" (objet pour échanger des valeurs avec la vue). En plaçant ModelAndView dans l'argument, vous pouvez utiliser toutes les informations ensemble. Super pratique.
setViewName est "celui qui définit le nom de la vue". En définissant le nom de la vue sur «« index »dans setViewName, la vue nommée index sera utilisée. Alors, qu'est-ce qu'un nom de vue? Il semble qu'il y ait plusieurs choses, alors je vais enquêter la prochaine fois. Omis.
Puisque le moteur de modèle Thymeleaf est utilisé ici, l'ensemble «" index "» est reconnu comme un modèle Thymeleaf (templates / index.html). La vue (partie d'affichage de l'écran) est générée sur la base des informations de ce nom de vue.
Donc, mettez ce "" ViewName "" et les caractères de sortie nommés "" msg "" ensemble dans la classe ModelAndView mav
. C'est le bon point de ModelAndView.
Donc, si vous renvoyez le "mav", vous pouvez envoyer le "ViewName" et le "msg" ensemble au côté client.
Un moteur de modèle tel que HTML.
Une bibliothèque pour traiter des programmes basés sur des modèles HTML appelés modèles et les afficher à l'écran. Aux fins de la division du travail entre les programmeurs et les concepteurs Web, le traitement est effectué en interprétant et en exécutant des balises spéciales. Smarty est un exemple typique de PHP. [Extrait du dictionnaire Weblio](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)
Ainsi, ce qui suit est facile à comprendre sur les fonctionnalités de Thymeleaf. Qu'est-ce que Thymeleaf Le fait est que contrairement au JSP qui est affiché après le traitement, il est décrit par des valeurs d'attribut, de sorte qu'il peut être affiché normalement sans traitement et il semble être facile à voir après tout.
Maintenant que vous l'avez compris jusqu'à présent (même dans Zackri), éditez 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:le texte est spécifié sous forme de texte dans Thymeleaf,${}Est une 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>
Mettez le HTML dans le fichier modèle.
src/main/resources>templates
Ce fichier HTML est écrit en notation Thymeleaf, n'est-ce pas? Pour la notation Thymeleaf, ces deux articles sont faciles à comprendre. Maîtrisez complètement Thymeleaf avec l'échantillon minimum requis Syntaxe d'expression standard de Thymeleaf
Avec ceci comme référence, je l'ai écrit et copié.
Exécutez le projet en tant qu'application Spring Boot dans cet état.
J'ai pu passer la valeur en toute sécurité!
Recommended Posts