Existe-t-il un moyen de transmettre une valeur String de ma classe de contrôleur Spring à mon HTML? Dans divers exemples de "bonjour le monde", ils disent d'utiliser

ModelAndView model = new ModelAndView("htmlPageName");
model.addAttribute("variableName", "someValue");

Dans le contrôleur et

${variableName}

Dans le HTML. Mais quand je charge la page, elle affiche littéralement ${variableName} au lieu de "someValue"

Suis-je en train de manquer quelque chose?

4
Andrew Torr 23 mai 2018 à 12:48

3 réponses

Meilleure réponse

Je l'ai compris. Il me manquait une dépendance:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
1
Andrew Torr 10 mars 2019 à 19:52

Si vous utilisez Thymeleaf

<h1 th:text="${variableName}"></h1>

Vous écrivez: {$ variable Name} au lieu de $ {variable Name}

7
Rafał Sokalski 23 mai 2018 à 09:56

Vous pouvez trouver la documentation de thymeleaf ici qui montre comment afficher l'attribut de modèle en html .

Dans Thymeleaf, ces attributs de modèle (ou variables de contexte dans le jargon Thymeleaf) sont accessibles avec la syntaxe suivante: ${attributeName}, où attributeName dans notre cas est des messages.

    @RequestMapping(value = "message", method = RequestMethod.GET)
    public ModelAndView messages() {
        ModelAndView mav = new ModelAndView("message/list");
        mav.addObject("messages", messageRepository.findAll());
        return mav;
}
1
Hatice 23 mai 2018 à 10:18