SpringMvc+Thymeleaf实现数据渲染

  • Post author:
  • Post category:其他


Thymeleaf是spring boot推荐使用的模板语法,它可以完全替代 JSP 。

从代码层次上讲:Thymeleaf是一个java类库,它是一个xml/xhtml/

html5

的模板引擎,可以作为mvc的web应用的view层。

Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。

有网无网的情况下模版页面都可以执行,美工的页面拿来就可以用,相对jsp减少了额外的标签,页面也更加简洁。

渲染SpringMvc拿到的数据

Thymeleaf渲染方式有很多种。可以使用Model、ModelAndView、ModelMap等对象进行渲染因为使用方式都差不多我示例Model和ModelAndView就行了 废话不多说上代码。

后端控制器代码:

使用Model

    @RequestMapping("/types")
    public  String typespage(Model model){//使用Model当形参
        List<Type> Typelist= typeService.selectTypeList();//要渲染的数据源
   //"list"相当于是键 Typelist是值 list要和前端渲染的数据名字相对应
        model.addAttribute("list",Typelist);
       
           //返回要渲染的视图
          return "admin/types";
    }

使用ModelAndView

modelAndView基本和Model差不多,只是ModelAndView是要setViewName绑定视图页面

使用modelAndView可以写一个控制器方法然后请求这个方法就会显示绑定的视图页面

    ModelAndView使用
    @RequestMapping("/test")
    public  ModelAndView test(){
   List<Type> list= typeService.selectTypeList();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("list", list);
        modelAndView.setViewName("admin/types");
      return  modelAndView;
    }

前端代码:


            <tbody >
<!--            lists相当于引用的一个变量名可以自定义 ${list}是后端控制器赋值时候的参数名 -->
            <tr align="center" th:each="lists:${list}">
                <td th:text="${lists.id}"></td>
                <td th:text="${lists.name}"></td>

            </tr>
            </tbody>

效果图:

使用Model对象

使用ModelAndView对象



版权声明:本文为dawfwafaew原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。