Spring Boot--视图技术(01)

Spring Boot支持多种视图技术,内置如下:
FreeMarker
Groovy
Thymeleaf
Mustache
在这一节中我为大家讲解Spring中使用模板技术。
简单介绍一下FreeMarker 模板技术。
1.首先在pom.xml文件中引入依赖

<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-freemarker -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
    <version>2.0.3.RELEASE</version>
</dependency>

2.SpringBoot中模板都在resource/templates文件下面,我们创建一个简单的test.ftl模板:
简单的模板

<html>
    <body>
    ${use.name}
    </p>
    ${use.age}
    </body>
</html>

3.创建Controller类

package com.unitop.Contorller;

import com.unitop.entity.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

@RestController
public class Helloword {
    //这是一个欢迎页面
    @RequestMapping("/index")
    public String index( int i){
        return "HeloWord SpringBoot"+i;
    }
    //返回的MOdelAndView视图
    @RequestMapping("/modelview")
    public ModelAndView show(User user){
        ModelAndView modelAndView = new ModelAndView();
        User user1 =new User();//放入一个对象
        user1.setAge(user.getAge());
        user1.setName(user.getName());
        modelAndView.addObject("use",user1);
        modelAndView.setViewName("/test"); //映射页面模板
        return modelAndView;
    }
}

4.User对象实体类

package com.unitop.entity;

public class User {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

5.在浏览器里面访问http://127.0.0.1:8080/modelview?name=yantianpeng&age=12
这是效果图

6.在讲解一下页面返回的是list集合的时候页面的接收效果
先创建一个list.ftl模板
代码如下:

<html>
    <body>
  <#list list as use >
  <tr>
      姓名: <td>${use.name}</td>
      年龄:<td>${use.age}</td>
  </tr>
  </#list>
    </body>
</html>

7.在上一步的基础上我们创建有个list里面包含了两个或者多个对象
创建一个Controller 在里面添加一个showList方法:

    @RequestMapping("/modelviewList")
    public ModelAndView showList(){
        ModelAndView modelAndView =new ModelAndView();
        User user1 =new User();//创建对象
        user1.setName("yantianpeng");
        user1.setAge(26);
        User user2 =new User();
        user2.setAge(25);
        user2.setName("马庆");
        List<User> list =new ArrayList<User>();//创建list
        list.add(user1);
        list.add(user2);
        modelAndView.addObject("list",list);//吧list放入到modelView里面
        modelAndView.setViewName("/test");
        return  modelAndView;
    }
  1. 在页面我们访问127.0.0.1:8080/modelviewList
  2. list页面效果图

注意在创建的模板中我们需要了解FreeMarker语法。

猜你喜欢

转载自blog.csdn.net/weixin_37546725/article/details/81176873