【SpringBoot框架04】视图集成

【SpringBoot框架04】视图集成

思维导图

在这里插入图片描述

一、FreeMarker视图集成

(1)Starter坐标引入

配置pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.lcy</groupId>
  <artifactId>springboot03</artifactId>
  <version>1.0-SNAPSHOT</version>

  <name>springboot03</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <parent>
    <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter -->
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.2.2.RELEASE</version>
  </parent>
  <dependencies>
    <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>

  </build>
</project>

(2)添加FreeMarker配置信息

改application.yml添加FreeMarker基本配置

spring:
  profiles:
    active: dev
  freemarker:
#    设置后缀名
    suffix: .ftl
    content-type: text/html
    charset: utf-8
    template-loader-path: classpath:/view/

(3)编写控制器转发视图

IndexController.java

package com.lcy.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class IndexController {
    @RequestMapping("/index")
    public String index(){
        return "index";
    }
}

(4)在VIEW目录下添加.ftl视图,启动Starter访问

index.ftl

Hello Spring

IndexController

package com.lcy.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
public class IndexController {
    @RequestMapping("/index")
    public String index(){
        return "index";
    }
}

启动Starter

@SpringBootApplication
public class Starter {
    private static Logger logger = LoggerFactory.getLogger(Starter.class);

    public static void main(String[] args) {
        logger.info("这是一个springboot日志输出");
        SpringApplication application = new SpringApplication(Starter.class);
        application.setBannerMode(Banner.Mode.OFF);
        application.run();
    }
}

成功
在这里插入图片描述
这里的浏览器输入可能不一样,注意查看日志打印的端口号和路径
在这里插入图片描述
在这里插入图片描述

二、Thymelefaf视图集成

(1)Starter坐标引入

pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.lcy</groupId>
  <artifactId>springboot03</artifactId>
  <version>1.0-SNAPSHOT</version>

  <name>springboot03</name>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>

  <parent>
    <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter -->
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.2.2.RELEASE</version>
  </parent>
  <dependencies>
    <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>

  </build>
</project>

(2)添加thymeleaf配置信息

application.yml

spring:
  thymeleaf:
    prefix: classpath:/html/
    cache: false
#    关闭thymeleaf页面缓存

(3)编写IndexController控制器转发视图

IndexController.java

@Controller
public class IndexController {
    @RequestMapping("index")
    public String index(Model model){
        model.addAttribute("msg","success!!!!!!!!!!!");
        return "index";
    }
}

(4)添加视图

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Thymeleaf</title>
</head>
<body>
<!--    获取请求域的值-->
    <h2 th:text="${msg}"></h2>
</body>
</html>

(5)启动Starter访问

@SpringBootApplication
public class Starter {
    private static Logger logger = LoggerFactory.getLogger(Starter.class);

    public static void main(String[] args) {
        logger.info("这是一个springboot日志输出");
        SpringApplication application = new SpringApplication(Starter.class);
        application.setBannerMode(Banner.Mode.OFF);
        application.run();
    }
}

不成功看下自己的profile配置
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值