[JAVA] [Spring MVC] Comment transmettre des variables de chemin

Mémo sur comment recevoir des variables de chemin dans Spring et comment les transmettre à la destination de redirection

Comment recevoir des variables de chemin

// (1)
@GetMapping("{name}")
public String detail(@PathVariable String name) {
    return "detail";
}

// (2)
@GetMapping("idol/{name}")
public String idolDetail(@PathVariable("name") String idolName) {
    return "idol/detail";
}

// (3)
@GetMapping("unit/{unitId}/idol/{idolId}")
public String idolDetail(@PathVariable("unitId") Integer unitId, @PathVariable("idolId") Integer idolId) {
    return "idol/detail";
}

Si vous souhaitez utiliser la valeur contenue dans le chemin dans le traitement de la méthode, utilisez la variable de chemin ({nom de la variable}) comme l'endroit où la valeur que vous souhaitez recevoir est entrée dans l'annotation Mapping, et définissez l'argument correspondant sur @PathVariable. Spécifiez .

(1) Si le nom de la variable de chemin et le nom de la variable réellement utilisés sont identiques, l'attribut value de @ PathVariable peut être omis. (2) Si les noms des variables sont différents, spécifiez le nom de la variable de chemin dans l'attribut value de @ PathVariable. (3) Le multiple est possible.

Comment transmettre la variable de chemin à la destination de la redirection

// (1)
@PostMapping("idol/{name}/update")
public String update(@PathVariable String name) {
    return "redirect:/idol/{name}";
}

// (2)
@PostMapping("redirect")
public String redirect(RedirectAttributes redirectAttributes) {
    redirectAttributes.addAttribute("name", "Jinka Osaki");
    return "redirect:/idol/{name}";
}

(1) Une variable une fois reçue comme variable de chemin peut être transmise telle quelle à la destination de la redirection. Dans le cas du code ci-dessus, si vous envoyez une requête POST à / idol / Kiriko Yuya / update, l'URL de la destination de la redirection sera donc / idol / Kiriko Yuya. (2) Si la variable ajoutée en utilisant la méthode ʻaddAttributede RedirectAttributes est incluse dans la variable de chemin de la destination de redirection, elle est développée telle quelle en tant que variable de chemin. Dans le cas ci-dessus, l'URL de destination de la redirection sera/ idol / Osaki Jinka`.

(2) peut être une simple combinaison de chaînes s'il n'est pas nécessaire de saisir une valeur séparément.

référence

Référence officielle Arguments du contrôleur Spring MVC Présentation détaillée du développement d'applications Spring Java avec Spring Framework

Recommended Posts

[Spring MVC] Comment transmettre des variables de chemin
[Rails 5] Comment utiliser gem gon ~ Comment passer des variables de Rails à JS ~
Comment utiliser Lombok au printemps
Comment faire un test unitaire de Spring AOP
Remarques sur l'utilisation de Spring Data JDBC
[Comment installer Spring Data Jpa]
Comment configurer Spring Boot + PostgreSQL
[Traitement × Java] Comment utiliser les variables
Comment utiliser ModelMapper (Spring boot)
Comment nommer des variables en Java
Comment passer Oracle Java Silver
Comment réaliser un téléchargement de fichiers volumineux avec TERASOLUNA 5.x (= Spring MVC)
Comment nommer les variables 7 sélections d'inconfort
Fonctionnement du servlet Dispatcher dans Spring MVC
Transition de Struts2 à Spring MVC (contrôleur)
Comment passer la valeur à un autre écran
Comment utiliser les variables d'environnement dans RubyOnRails
[Struts] Comment passer des valeurs entre jsps
Comment écrire un spécificateur de coupe de point Spring AOP
Comment diviser un fichier de message Spring Boot
Modifications majeures liées à Spring Framework 5.0 Web MVC
Comment utiliser MyBatis2 (iBatis) avec Spring Boot 1.4 (Spring 4)
Comprendre comment partager des connexions Spring DB (transactions DB)
Comment utiliser h2db intégré avec Spring Boot
Comment réduire l'image de Spring Boot Docker
Comment utiliser les attributs de session Spring Boot (@SessionAttributes)
Comment ajouter un chemin de classe dans Spring Boot
Comment utiliser la portée et le traitement des passes (servist)
Comment créer un formulaire Excel à l'aide d'un fichier modèle avec Spring MVC
Comment définir des variables d'environnement dans le fichier de propriétés de l'application Spring Boot
Comment créer des variables membres avec le modèle JPA
Comment définir plusieurs orm.xml dans Spring4, JPA2.1
[Spring Boot] Comment se référer au fichier de propriétés
Spring Boot - Comment définir le délai d'expiration de la session
Comment intégrer des variables JavaScript dans HTML avec Thymeleaf
J'ai essayé d'implémenter le téléchargement de fichiers avec Spring MVC
Comment définir l'injection de dépendance Spring Boot (DI)
Comment appliquer HandlerInterceptor à la passerelle entrante http de Spring Integration
Comment écrire un test unitaire pour Spring Boot 2
Comment utiliser Struts2 * Spring Framework (plugin Spring) Version de juin 2017
[Java] Comment omettre l'injection de constructeur de ressort avec Lombok
[Java] Comment extraire le nom du fichier du chemin
Comment créer un projet Spring Boot dans IntelliJ
[Spring Boot] Comment créer un projet (pour les débutants)
Comment utiliser CommandLineRunner dans Spring Batch of Spring Boot
Comment tester l'écran de téléchargement de fichiers avec Spring + Selenium
Comment spécifier le chemin de la ressource dans l'importation HTML
Comment démarrer par environnement avec Spring Boot de Maven
Comment utiliser le référentiel de jobs en mémoire avec Spring Batch
Comment appeler AmazonSQSAsync
Comment utiliser Map
Comment écrire des rails
Comment utiliser rbenv
Comment utiliser with_option
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser la carte
Comment utiliser collection_select