SpringBoot集成FreeMarker时访问不到.ftl文件

代码如下:

@RestController
public class HelloController {@RequestMapping("index")public String index(HttpServletRequest request){request.setAttribute("msg","这是freemarker页面........");return "index";}
}

结果:只返回了 index,访问不到.ftl文件。

原因:经过查资料发现问题出在@RestController注解,这个注解会使@Controller注解失效,而且在方法不能加上@Reponsebody注解。

解决办法:@RestController改成 @Controller


@Controller与@RestController的不同点:
1.@ Controller:标识一个Spring类是Spring MVCcontroller处理器;@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。
2. Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。在方法上加@ResponseBody注解,也可以返回实体对象。
3. RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/776282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文教你学会用群晖NAS配置WebDAV服务结合内网穿透实现公网同步Zotero文献库

文章目录 前言1. Docker 部署 Trfɪk2. 本地访问traefik测试3. Linux 安装cpolar4. 配置Traefik公网访问地址5. 公网远程访问Traefik6. 固定Traefik公网地址 前言 Trfɪk 是一个云原生的新型的 HTTP 反向代理、负载均衡软件,能轻易的部署微服务。它支持多种后端 (D…

电缆故障测试仪的原理和组成部件分别是什么?

电缆故障测试仪是专为检测电缆线路中的各种故障而设计制造的精密电子设备,广泛应用于电力、通信、石油化工、航空航天等领域。这类仪器的工作原理和组成相对复杂,下面将详细阐述。 电缆故障测试仪的工作原理 电缆故障测试仪的核心原理通常涉及电磁波反…

【C语言】 gets()puts()fgets()fputs()字符串输入输出函数的用法

文章目录 C语言中的字符串输入输出函数:gets、puts、fgets与fputsgets函数puts函数fgets函数fputs函数 C语言中的字符串输入输出函数知识点总结结语 C语言中的字符串输入输出函数:gets、puts、fgets与fputs 在C语言中,处理字符串的输入和输出…

SpringBoot -- 自动配置机制

使用SpringBoot框架可以让我们快速的构建一个web项目并能成功运行,而之前的SSM则需要我们大量的配置。那么,SpringBoot为什么可以如此神奇,这是怎么做到的呢?那就要介绍一下SpringBoot的自动配置机制。那么,SpringBoot…

用系统观念打造智慧公厕,引领智慧城市的发展

智慧公厕,作为智慧城市建设的一部分,具有重要意义。在高度发达的科技条件下,如何打造高质量的智慧公厕是一个值得思考的问题。本文将以智慧公厕源头实力厂家广州中期科技有限公司,大量精品案例项目现场实景实图实例,探…

Java I/O

什么是 IO流? 存储和读取数据的解决方案 I: input O: output 流:像水流一样传输数据 IO流的作用? 用于读写数据(本地文件,网络) IO流从 传输方式 分类 字符是给人看的,字节是给计算机看的。 …

【SpringBoot】了解简单原理 Bean管理 配置优先级

文章目录 一、配置优先级1.1 命令行设置端口号1.2 打包后修改端口号1.3 优先级 小结 二、Bean的管理2.1 获取Bean2.2 Bean作用域2.3 第三方Bean 三、剖析Springboot的底层原理3.1 起步依赖3.2 自动配置3.2.1 第三方类装配3.2.2 原理分析 总结Web后端开发总结:源码跟…

计算机专业学习单片机有什么意义吗?

玩单片机跟玩计算机区别还是很大的, 单片机有众多的种类,每一种又可能有很多个系列.可以说单片机就是为了专款专用而生的.这样来达到产品成本的降低,这就是现在身边的很多的电子产品价格一降再降的原因之一.在开始前我有一些资料,是我根据网友给的问题精心整理了一…

阅读FAST-LIO2(Lidar-IMU)论文

一、摘要 本文介绍了 FAST-LIO2:一种快速、稳健且通用的 LiDAR 惯性里程计框架。 FASTLIO2 建立在高效紧耦合迭代卡尔曼滤波器的基础上,具有两个关键创新,可实现快速、稳健和准确的 LiDAR 导航(和映射)。第一个是直接将…

热门主食冻干希喂/PURPOSE/百利测评对比!真实喂养分享!

在当今科学养宠的时代里,主食冻干已经成为猫咪日常饮食的重要一环。主食冻干的高肉含量特性使其易于被猫咪吸收和消化,同时,它还能提供其他猫粮所无法提供的微量物质,满足猫咪的全面营养需求。然而,面对市面上众多品牌…

Java SPI 机制

SPI 机制的定义 在Java中,SPI(Service Provider Interface)机制是一种用于实现软件组件之间松耦合的方式。它允许在应用程序中定义服务接口,并通过在类路径中发现和加载提供该服务的实现来扩展应用程序功能。 SPI 机制通常涉及三…

信创实力进阶,Smartbi再获华为云鲲鹏技术认证

日前,经华为技术有限公司评测,思迈特商业智能与数据分析软件Smartbi Insight V11与华为技术有限公司Kunpeng 920 Taishan 200完成并通过相互兼容性测试认证,成功再获华为云鲲鹏技术认证书,标志着Smartbi与华为云鲲鹏产业生态合作更…

动态规划相关题目

文章目录 1.动态规划理论基础2.斐波那契数3.爬楼梯4.使用最小花费爬楼梯5.不同路径6.不同路径 II7. 整数拆分8. 不同的二叉搜索树 1.动态规划理论基础 1.1 什么是动态规划? 动态规划,英文:Dynamic Programming,简称DP,如果某一…

nginx mirror 流量镜像

流量镜像 (Traffic Mirroring),也称为流量影子 (Traffic Shadowing),是一种强大的、无风险的测试应用版本的方法,它将实时流量的副本发送给被镜像的服务。 采用这种方法,您可以搭建一个与原环境类似的环境以进行验收测试&#xff…

【ARM 嵌入式 C 入门及渐进 18 -- 字符数字转整形函数 atoi 介绍】

请阅读【嵌入式开发学习必备专栏 】 文章目录 字符数字转整形函数 atoiatoi 简单实现 字符数字转整形函数 atoi 在 C 语言中,main 函数能够接收命令行参数。这些参数通过两个参数传递给 main 函数:int argc 和 char *argv[]。argc 是命令行参数的数量&a…

安卓逆向 | JEB静态分析APK

JEB反编译APK-静态审计,找到加密算法 参考来源:https://blog.csdn.net/weixin_38819889/article/details/108910525 apk来源:https://app5.scrape.center/ 软件&工具:JEB / 雷电模拟器 / burpsuite 声明:scrape.ce…

YOLOv9+单目测距(python)

YOLOv9+单目测距(python) 1. 相关配置2. 测距原理和相机标定2.1 测距原理2.2 相机标定3. 相机测距3.1 测距模块3.2 测距添加3.3 主代码4. 实验效果相关链接 1. YOLOV7 + 单目测距(python) 2. YOLOV5 + 单目测距(python)

C#-特性Attribute的定义、使用及常用特性(不定时更新)

目录 一、 特性的定义及使用 1.自定义特性 2.使用特性 3.查找特性名 4.获取相应对象的特性名 二、常用部分特性 一、 特性的定义及使用 1.自定义特性 全继承自Attribute基类(使用前要给自定义特性赋予相关特性) [AttributeUsage(AtrributeTargets.Class|AttributeTar…

MySQL执行计划分析实战:从实例场景出发深度解读各项参数与分析步骤

引言: 在MySQL数据库优化中,理解和分析SQL执行计划是一项至关重要的技能。通过执行计划,我们可以洞察MySQL如何执行SQL查询,以及它选择索引、决定查询顺序和计算行数的方式。本文将通过一个实例场景,详细阐述MySQL执行…

浅模仿小米商城布局(有微调)

CSS文件 *{margin: 0;padding: 0;box-sizing: border-box; }div[class^"h"]{height: 40px; } div[class^"s"]{height: 100px; } .h1{width: 1528px;background-color: green; } .h11{background-color:rgb(8, 220, 8); } .h111{width: 683px;background-c…