当前位置: 首页 > 知识库问答 >
问题:

如何使用SpringMVC访问thymeleaf模板中的变量

皇甫雨华
2023-03-14

我怎么能访问变量我添加到模型中的Spring MVC内胸腺模板?我有以下控制器代码:

@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");
    }
}

如何访问thymeleaf模板中的变量var1、var5、var6等?

<!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>

共有1个答案

席宜修
2023-03-14

行为:

访问属性取决于它们添加的位置。如果属性被添加到ModelAndView对象中,则必须通过${ModelAndView.model.xxxx}访问它们,其中xxxx是属性名称。如果属性被添加到Model对象中,则只需使用属性名称本身"${属性名称}"即可访问这些属性。见下面的例子。

控制器:

@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
 类似资料:
  • 本文向大家介绍SpringMVC中使用Thymeleaf模板引擎实例代码,包括了SpringMVC中使用Thymeleaf模板引擎实例代码的使用技巧和注意事项,需要的朋友参考一下 本文研究的主要是SpringMVC中使用Thymeleaf模板引擎的相关内容,具体介绍如下。 Thymeleaf提供了一组Spring集成,允许您将其用作Spring MVC应用程序中全面替代JSP的功能。 Maven依

  • 问题内容: 我正在使用Flask 0.7版。我已经将静态内容的路径存储在配置文件中,并使用 我可以在不通过变量的情况下访问模板中的此配置变量吗? 问题答案: flask默认情况下会在模板上下文中传递一些全局变量(这是完整列表),其中之一是,允许你从模板访问应用程序配置。作为字典,可以使用或(该语法用于访问字典项的语法特定于Jinja)进行访问。

  • 问题内容: 如何在不进行迭代的情况下使用变量键来查找映射的值? 因此,可以使用来在变量映射$ x上查找常量键,但是可以这样做吗? 问题答案: 您可以使用以下功能: 从http://golang.org/pkg/text/template/:

  • 是否可以访问模板中的设置变量? 设置: 如何使用,而不在模板中重用,以避免重复的代码,尤其是在其层次结构较深的情况下?

  • 本文向大家介绍SpringBoot使用Thymeleaf模板引擎访问静态html的过程,包括了SpringBoot使用Thymeleaf模板引擎访问静态html的过程的使用技巧和注意事项,需要的朋友参考一下 最近要做一个java web项目,因为页面不是很多,所以就没有前后端分离,前后端写在一起,这时候就用到thymeleaf了,以下是不动脑式的傻瓜教程。。。。。 一:创建spring boot的

  • 我正在尝试使用swagger codegen(版本2.3.1)创建我的第一个自定义代码生成器。我的问题是,我似乎无法访问模型的“变量”。我在用宠物店。json示例作为输入,swagger codegen maven插件用于创建生成的源代码。 在我的小胡子模板中,我试图访问模型属性。这适用于“className”或“package”等属性,但我无法访问列表类型属性“vars”。使用“-DdebugM