在集成spring boot与freemarker时,Controller不返回渲染的模板页面,而是返回模板字符串,具体如下

pom.xml

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

模板文件
模板文件位于:src\main\resources\templates\welcome.ftl

<!DOCTYPE html>
<html lang="en"><body>Date: ${time?date}<br>Message: ${message}</body>
</html>

Controller.java


```java
package com.xleiy.blog.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.Date;
import java.util.Map;/*** @author: xlei* @Copyright (c) 2018 spring_boot_blog* @项目名称: spring_boot_blog* @类名称: WelcomeController* @创建时间: 2018/1/3 16:33* @类描述:*/
@RestController
public class WelcomeController {@GetMapping("/welcome")public String welcome(Map<String, Object> model) {model.put("time", new Date());model.put("message", "张三");return "welcome";}
}

运行效果

问题所在

把@RestController替换为@Controller注解
@RestController注解表示返回的内容都是HTTP Content不会被模版引擎处理的

下面是RestController的定义

package org.springframework.web.bind.annotation;import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;import org.springframework.stereotype.Controller;@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {/*** The value may indicate a suggestion for a logical component name,* to be turned into a Spring bean in case of an autodetected component.* @return the suggested component name, if any (or empty String otherwise)* @since 4.0.1*/String value() default "";

springboot freemarker不渲染页面返回字符串相关推荐

  1. vue 如何解析原生html,VUE渲染后端返回含有script标签的html字符串示例

    VUE渲染后端返回含有script标签的html字符串示例 发布时间:2020-09-14 23:37:52 来源:脚本之家 阅读:207 作者:冷幽悠 在接入支付宝支付模块的时候,支支返回的是一个f ...

  2. vue打开后端html文件,VUE渲染后端返回含有script标签的html字符串示例

    VUE渲染后端返回含有script标签的html字符串示例 在接入支付宝支付模块的时候,支支返回的是一个form串,细看一下还有一个script标签,如何将其渲染出来给大家分享一下经验.注意点:不能在 ...

  3. html页面返回原理,浏览器输入URL到界面显示(HTML渲染)发生了什么?

    浏览器从输入URL到界面显示一共经历了6个阶段 1. DNS(域名)解析 2. TCP连接(三次握手) 3. 发送HTTP请求 4. 服务器处理请求并返回HTTP报文 5. 浏览器解析渲染页面 6.  ...

  4. [SpringBoot]请求返回字符串中文乱码的解决探讨

    问题 当Controller的接口返回字符串,在SwaggerUI中测试时,发现返回都是问号,比如"?????id 100 ???????",这是由于字符编码问题导致,例如: Re ...

  5. SpringBoot整合Thymleaf实现页面静态化

    文章整理题材来源于传智播客乐优商城项目实战! 1. 问题需求分析 在做乐优商城时,页面是通过Thymeleaf模板引擎渲染后返回到客户端.当商品详情页数据渲染时,在后台需要大量的数据查询,而后渲染得到 ...

  6. Render函数渲染页面

    Render是使用js的完全编程能力来渲染页面,即用js来构建DOM. 说明:render是一个方法,自带一个形参createElement(还有context..),这个参数也是一个方法,是用来创建 ...

  7. Python3网络爬虫实战-38、动态渲染页面抓取:Splash的使用

    Splash 是一个 JavaScript 渲染服务,是一个带有 HTTP API 的轻量级浏览器,同时它对接了 Python 中的 Twisted和 QT 库,利用它我们同样可以实现动态渲染页面的抓 ...

  8. 【四二学堂】jquery方式ajax获取数据并渲染页面

    var newsData = ''; var mydata = {"pageNum":obj.curr,"pageSize":"5"}; / ...

  9. springboot和redis处理页面缓存

    页面缓存是应对高并发的一个比较常见的方案,当请求页面的时候,会先查询redis缓存中是否存在,若存在则直接从缓存中返回页面,否则会通过代码逻辑去渲染页面,并将渲染后的页面缓存到redis中,然后返回. ...

  10. express应用中ajax结合模板引擎ejs.js渲染页面

    一.express应用中ajax结合模板引擎ejs.js渲染页面 在views新建一个渲染模板命名 Template.ejs Template.ejs 示例: <% if(coursesList ...

最新文章

  1. Task03:青少年软件编程(Scratch)等级考试模拟卷(一级)
  2. springMVC 时间、js、html处理
  3. Microsoft SharePoint Portal Server 2003 订制开发研讨(流水帐)
  4. JSP脚本 9大内置对象
  5. openresty开发系列31--openresty执行流程
  6. Linq 异常“此提供程序只支持对返回实体或投影(包含所有标识列)的有序查询使用 Skip()...”...
  7. 链路层的网卡聚合-基于Linux bonding
  8. URAL 题目1297. Palindrome(后缀数组+RMQ求最长回文子串)
  9. 让VC编译的程序链接到系统的 msvcrt.dll 的方法
  10. Activity之间传递bitmap,Observer观察者模式
  11. memcached内存管理及key value长度限制
  12. React、Angular、Vue 框架比较
  13. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨2.97%
  14. linux 运行python效率高还是windows高_为什么使用Mac开发比Windows效率高?
  15. 如何向github上传文件
  16. 《20171117-构建之法:现代软件工程-阅读笔记》
  17. unslider.js 实现移动web轮播
  18. Qt 学习之路 2(3):Hello, world! 笔记
  19. Apache Wicket 1.5发布
  20. 计算机开机没有d盘,电脑每次开机总是自检D盘的解决办法

热门文章

  1. 文本编辑器 - 同时编辑多行
  2. mysql的填充因子_数据库索引中的填充因子
  3. 面圆机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. dotnet 使用 Obsolete 特性标记成员过时保持库和框架的兼容性
  5. 青龙2.10.13 稳定版+xdd-plus+阿东教程保姆教程(2022年7月11日更新)
  6. 深度 | 刘群:基于深度学习的自然语言处理,边界在哪里?
  7. cityengine常用规则函数
  8. 7-7 浪漫的表白 (10 分) 计算生日差据天数
  9. android 串口 汉字乱码,Arduino软串口出现乱码
  10. 【1月7日】议程正式公布!年度AIoT产业盛典重磅来袭!