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

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依赖

        <!--freemarker-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

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

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

第四步 新建一个suggestion.html
html的名称要和controller中return的字符串一致
在这里插入图片描述
第五步 验证
输入 localhost:端口号/上下文/suggestion 验证能否跳转到suggestion.html页面

4.遇到的问题

页面跳转成功后不能加载js、css等静态资源?
思路:
就比如我idea,默认生成的静态资源目录是statics,而源码中默认的静态资源目录是static,如下图示:
在这里插入图片描述
这时需要在application.yml中将静态资源路径配一下,内容如下:

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

5.总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值