framework-web:spring:td0

Ceci est une ancienne révision du document !


TD0 & TD1

Notions abordées :

  • Contrôleurs
  • Routage
  • Vues
  • Session et contexte

Créer le projet td0 :

  • Group : s4.spring
  • Artifact : td0
  • Packaging : War
  • Description : Gestion d'items
  • Dependencies : Web, Devtools, Mustache

Configurer le projet dans application.properties, pour que le contextPath soit td0/, configurer Mustache

Créer une classe Element dans s4.spring.models :

Ajouter :

  • Des accesseurs (getters/setters) sur les 2 membres
  • Sur-définir la méthode equals pour que 2 items du même nom soit considérés comme égaux

L'annotation @SessionAttributes permet de définir des variables de session. Combinée à @ModelAttribute, elle permet l'initialisation correcte de la variable de session.

@SessionAttributes("items")
public class MainController {

	@ModelAttribute("items") 
	public List<String> getItems(){
		return new ArrayList<>();
	}
}

AdresseDescription
items/ Affiche la liste des éléments stockée en Session + 1 bouton pour ajouter un élément (/items/new)
items/new Afficher un formulaire d'ajout d'élément (seulement son nom), la validation va vers /items/addNew puis redirige vers /items
items/inc/{nom} Incrémente l'évaluation de l'élément de 1, puis redirige vers /items
items/dec/{nom} Décrémente l'évaluation de l'élément de 1, puis redirige vers /items

	@GetMapping("items/addNew")
	public RedirectView addNew(@RequestParam Strin id) {
		Optional<Joueur> opt=repo.findById(id);
		if(opt.isPresent()) {
			Joueur joueur=opt.get();
			List<Pari> paris=joueur.getParis();
			if(paris.size()==0)
				repo.delete(joueur);
		}
		return new RedirectView("/joueur/");
	}

  • framework-web/spring/td0.1549016095.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)