framework-web:spring:td0

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
framework-web:spring:td0 [2019/02/01 10:26] – [Routes] jcheronframework-web:spring:td0 [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== TD0 TD1 ======+====== TD n°0 TD n°1 ======
  
 Notions abordées : Notions abordées :
Ligne 7: Ligne 7:
   * Session et contexte   * Session et contexte
  
 +==== - Création du repository git ====
 +
 +  - Créer un dossier **springboot-tds** ;
 +  - Publier **springboot-tds** sur github en tant que nouveau repository ;
 +  - Ajouter **jcheron** à la liste des **colaborators** de ce projet ;
 +  - Publier (commit and push) régulièrement sur github.
 ===== Création ===== ===== Création =====
 Créer le projet td0 : Créer le projet td0 :
Ligne 17: Ligne 23:
 Configurer le projet dans **application.properties**, pour que le contextPath soit **td0/**, configurer Mustache Configurer le projet dans **application.properties**, pour que le contextPath soit **td0/**, configurer Mustache
  
 +
 +==== Vues ====
 +
 +On utilisera [[https://semantic-ui.com|Semantic-UI]] pour la partie présentation.
 +
 +Créer un template **header.html** :
 +
 +<sxh html;title:resources/templates/header.html>
 +<!DOCTYPE html>
 +<html>
 +<head>
 + <meta charset="UTF-8">
 + <title>Gestion d'items</title>
 +<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css">
 +</head>
 +<body>
 + <div class="ui container">
 +
 +</sxh>
 +
 +Créer un template **footer.html** :
 +
 +<sxh html;title:resources/templates/footer.html>
 +</div><!-- Fermeture de la div ui-container -->
 +<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
 +<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.js"></script>
 +</body>
 +</html>
 +
 +</sxh>
 ===== Objet métier ===== ===== Objet métier =====
  
Ligne 47: Ligne 83:
 |<100%>| |<100%>|
 ^Adresse^Description ^ ^Adresse^Description ^
-|td0/ |Affiche la liste des éléments stockée en Session + 1 bouton pou ajouter un élément (/td0/new) | +|items/ |Affiche la liste des éléments stockée en Session + 1 bouton pour ajouter un élément (/items/new) | 
-|td0/new | Afficher un formulaire d'ajout d'élément (seulement son nom), la validation va vers /td0/addNew puis redirige vers /td0 +|items/new | Afficher un formulaire d'ajout d'élément (seulement son nom), la validation va vers /items/addNew puis redirige vers /items 
-|td0/inc/{nom}| Incrémente l'évaluation de l'élément de 1, puis redirige vers /td0 +|items/inc/{nom}| Incrémente l'évaluation de l'élément de 1, puis redirige vers /items 
-|td0/dec/{nom}| Décrémente l'évaluation de l'élément de 1, puis redirige vers /td0 |+|items/dec/{nom}| Décrémente l'évaluation de l'élément de 1, puis redirige vers /items | 
 + 
 +==== Redirection ==== 
 + 
 +Effectue l'ajout, puis redirige la réponse vers la route **/items** 
 + 
 +<sxh java> 
 + @PostMapping("items/addNew"
 + public RedirectView addNew(@RequestParam String nom) { 
 + ... 
 + return new RedirectView("/items/"); 
 +
 +</sxh> 
 + 
 +==== Ajouts/modifications ==== 
 + 
 +  * Ajouter la route **items/delete/{index}** pour supprimer un item par son index 
 +  * Restructurer l'application : 
 +    * Ajouter une classe **s4.spring.models.Categorie** ayant un **libelle** et pouvant comporter une liste d'**items** 
 +    * Modifier la classe **Categorie** pour qu'elle puisse gère ses items (accès, ajout, suppression...) 
 +    * Mettre en session la liste des catégories, initialisée par défaut avec les catégories Amis, Famille, Professionnels 
 +    * Afficher sur la route **/** les catégories et les items contenus (on pourra utiliser le composant [[https://semantic-ui.com/modules/tab.html|Tab]])
  • framework-web/spring/td0.1549013206.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)