[springboot]controller+freemarker实现页面跳转

目录

  • 1.写在前面
  • 2.准备工作
  • 3.实现
  • 4.遇到的问题
  • 5.总结

1.写在前面

描述的主要内容:使用springboot框架通过controller返回的字符串+freemarker模板引擎实现跳转对应的html页面

2.准备工作

搭建springboot框架
这里就不再赘述了,推荐一篇博文,写的就是springboot框架的搭建过程,写的非常调理。

3.实现

第一步 创建一个controller如下图所示
需要注意的:

  1. controller类要使用@Controller注解才能可以
  2. (⊙o⊙)…
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 1. @ClassName: initController
 2. @Description: 意见反馈的首页
 3. @Author: xh
 4. @Date: 2019/7/20 18:32
 **/
@Controller
public class initController {
    @RequestMapping("/suggestion")
    public String indexController(){
        return "suggestion";
    }
}

第二步 添加freemarker模板引擎的maven依赖

        
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-freemarkerartifactId>
        dependency>

第三步 修改配置文件application.yml

spring:
  freemarker:
    suffix: .html
    request-context-attribute: request

第四步 新建一个suggestion.html
html的名称要和controller中return的字符串一致
[springboot]controller+freemarker实现页面跳转_第1张图片
第五步 验证
输入 localhost:端口号/上下文/suggestion 验证能否跳转到suggestion.html页面

4.遇到的问题

页面跳转成功后不能加载js、css等静态资源?
思路:
就比如我idea,默认生成的静态资源目录是statics,而源码中默认的静态资源目录是static,如下图示:
[springboot]controller+freemarker实现页面跳转_第2张图片
这时需要在application.yml中将静态资源路径配一下,内容如下:

spring:
  resources:
  # 静态资源路径  
  # 良心提醒-->路径的最后不用忘记加斜杠!!!!此处被坑过
    static-locations: classpath:/statics/,classpath:/templates/,classpath:/resources/,classpath:/META-INF/resources/
  mvc:
  # 静态资源映射方式
    static-path-pattern: /statics/**

5.总结

自己从头搭建一次springboot会发现有很多坑的,比自己在现成的工程中添加功能要难受一些,不过,只有进过坑才能成长,以后就知道避开了。。。

你可能感兴趣的:(springboot,freemark,页面跳转,controller,springboot)