2017-06-02 57 views
1

如何訪問我在thymeleaf模板中的Spring MVC中添加到模型中的變量?我有以下的控制器代碼:如何使用spring mvc訪問thymeleaf模板中的變量

@Controller 
public class ThymeLeafController { 

    @GetMapping("/thyme") 
    public void thymeleaf(ModelAndView modelAndView) { 
     modelAndView.addObject("var1", "var1"); 
     modelAndView.addObject(Arrays.asList("var2", "var3", "var4")); 
     modelAndView.getModel().put("var5", "var5"); 
     modelAndView.getModelMap().addAttribute("var6", "var6"); 
     modelAndView.getModelMap().addAttribute(Arrays.asList("var7", "var8", "var9")); 

     modelAndView.setViewName("thymeleaf"); 
    } 
} 

我如何可以訪問的變量VAR1,VAR5,var6等內部thymeleaf模板?

<!DOCTYPE html> 
<html lang="en" xmlns:th="http://www.thymeleaf.org"> 
<head> 
    <meta charset="UTF-8" /> 
    <title>Thymeleaf</title> 
</head> 
<body> 
<div th:if="#{var1}"></div> 

</body> 
</html> 
+2

這是非常基本的,你嘗試的教程? – holmis83

+0

我環顧四周,發現如何綁定表單變量。這就是我真正需要的。但我仍然不知道如何在存儲在模型中的模板中使用變量。你能指點我一個教程嗎?還有一些可能會阻止我訪問模板中的變量。 @ModelAttribute按預期工作。 – Ali

+0

你檢查過'th:text =「$ {val1}」'? – Zionz

回答

1

行爲:

訪問屬性取決於他們加入其中。如果屬性添加到ModelAndView對象中,則必須通過「$ {modelAndView.model.xxxx}」來訪問它們,其中xxxx是屬性名稱。如果這些屬性添加到Model對象中,則只需使用屬性名稱本身「$ {attributeName}」即可訪問它們。看下面的例子。

控制器:

@GetMapping("/thyme") 
public void thymeleaf(ModelAndView modelAndView, Model model) { 
    modelAndView.addObject("var1", "var1"); 
    modelAndView.addObject(Arrays.asList("var2", "var3", "var4")); 
    modelAndView.getModel().put("var5", "var5"); 
    modelAndView.getModelMap().addAttribute("var6", "var6"); 
    modelAndView.getModelMap().addAttribute(Arrays.asList("var7", "var8", "var9")); 

    model.addAttribute("attribute1", "attributeValue1"); 

} 

模板:

<!DOCTYPE html> 
<html lang="en" xmlns:th="http://www.thymeleaf.org"> 
<head> 
    <meta charset="UTF-8"/> 
    <title>Thymeleaf</title> 
</head> 
<body> 
<div th:text="${attribute1}"></div> 
<div th:text="${modelAndView.model}"></div> 
<div th:text="${modelAndView.model.var1}"></div> 
</body> 
</html> 

輸出:

 
attributeValue1 
{var1=var1, stringList=[var7, var8, var9], var5=var5, var6=var6} 
var1 
相關問題