SpringBoot 集成FreeMarker
SpringBoot支持的视图技术
- jsp 官方不推荐。jsp里面可以写java代码,不利于mvc模式的严格分层,且不好发挥SpringBoot的特性
- html 不推荐。html可以使用ajax向controller请求数据,但controller调用视图并传递数据时,html怎么取出controller传递的数据?html毕竟是静态页面,难以动态展示controller传递的数据
- 模板引擎 推荐。符合mvc模式,擅长动态展示controller传递的数据。
常见的模板引擎
- Thymeleaf 官方推荐。能与SpringBoot完美整合,可直接使用表达式取值,可以像操作jsp一样操作Thymeleaf
- FreeMarker 这个用的也比较多
- Velocity
在springboot中,模板引擎的默认存放位置是resources/templates。
html视图配置
使用jsp,jsp中可以写java代码,可以用EL表达式或request.getXxx()获取controller传递的数据;
html文件中不能写java代码,难以获取controller传递的数据。
如果硬要使用html,配置如下:
比如在resource/static/html下面放html文件
#应用名称。访问时项目的根路径是ip:port/, 不是ip:port/项目名
spring.application.name=HIS
#使用的端口,默认就是8080
server.port=8080
#视图解析
spring.mvc.view.prefix=/html/
spring.mvc.view.suffix=.html
前缀是/html/,不是什么/static/html/,也不是什么classpath:/static/html。
注释必须要独占一行。
在controller中直接返回html文件名即可,示例:return "index";
注意Controller上要用@Controller,不能用@RestController或@ResponseBody,这2个注解是把return返回的字符串作为json直接返回给浏览器。
html还有一个很大的问题:
/resources/static下的文件是可以直接访问的,在浏览器地址栏输入 ip:port/html/xxx.html 可以直接访问对应的页面,如果后台管理页面暴露出去怎么行。
/resources/templates下的文件受保护,不能被浏览器直接访问。
SpringBoot 集成FreeMarker的更多相关文章
- Springboot集成FreeMarker
Apache官网对FreeMarker的解释如下: Apache FreeMarker™是一个模板引擎 :一个基于模板和变化的数据来生成文本输出(HTML网页,电子邮件,配置文件,源代码,等等)的Ja ...
- springboot 集成 freemarker
前面我们已经实现了thymeleaf模板,其实freemarker和thymeleaf差不多,都可以取代JSP页面,实现步骤也差不多,我们来简单实现一下 引入pom.xml依赖如下 <depen ...
- SpringBoot集成Freemarker与Thymeleaf
一:概括 pom.xml添加依赖 配置application.yml HTML页面使用表达式 二:Freemarker模板引擎 1.添加依赖 <!-- ftl模板引擎 --> <de ...
- SpringBoot集成freemarker和thymeleaf模板
1.在MAVEN工程POM.XML中引入依赖架包 <!-- 引入 freemarker 模板依赖 --> <dependency> <groupId>org.spr ...
- springboot集成freemarker 配置application.properties详解
#配置freemarker详解 #spring.freemarker.allow-request-override=false # Set whether HttpServletRequest att ...
- springboot集成freemarker属性配置(不知道是针对于某个版本,2.0后有变动)
freemarker属性配置 freemarker属性配置: spring.freemarker.allow-request-override=false # 设置是否允许HttpServletReq ...
- SpringBoot集成Freemarker前端模板
1.在pom.xml中引入freemarker的jar包 <dependency> <groupId>org.springframework.boot</groupId& ...
- SpringBoot 集成 FreeMarker 导出 Word 模板文件(底部附源码)
思路解说 word 模板文件(doc 或 docx 文件)另存为 xml 文件 将后缀 xml 改成 html:大部分文档会改成 ftl(FreeMarker 的后缀名),因为 word 文件另存为 ...
- springboot集成freemarker静态资源无法访问
如题配置文件加上 #设定静态文件路径,js,css等.static为你放置静态资源的文件夹名称,也可以叫别的名字.properties加上 spring.mvc.static-path-pattern ...
随机推荐
- 洛谷P1049装箱问题(01背包)
题目描述 有一个箱子容量为VVV(正整数,0≤V≤200000 \le V \le 200000≤V≤20000),同时有nnn个物品(0<n≤300<n \le 300<n≤30, ...
- Jmeter_选项_函数助手_RandomString的用法
1.用处:测试账户注册可以通过随机生成数实现,而不需要Excel手动输入, 缺点:随机生成数可能会重复 优点:不需要使用CSV config 或者excel ,txt格式 2.举例:之前我们通过CSV ...
- java NIO - DirectBuffer 和 HeapBuffer
问题 : DirectBuffer 属于堆外存,那应该还是属于用户内存,而不是内核内存? FileChannel 的read(ByteBuffer dst)函数,write(ByteBuffer sr ...
- 分布式事务 --- CAP 理论
本文部分来自参考资料!!半原创 概述 介绍CAP理论,并简单地证明了三存二的定论. CAP 理论 1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标.分别为 : C ...
- ios 用touchend事件 pc用click touchend击穿
var clickEvent = (function() { if ('ontouchend' in document.documentElement === true) return 'touche ...
- C语言:对长度为7的字符串,除首尾字符外,将其余5个字符按ASCII降序排序。-计算并输出3~n之间所有素数的平方根之和。
//对长度为7的字符串,除首尾字符外,将其余5个字符按ASCII降序排序. #include <stdio.h> #include <ctype.h> #include < ...
- STUN和TURN协议解析
在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet.很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P通信,而不需要 ...
- springweb 详解。
spring web架构图 从图中可以看出, 如果要对输出的内容进行重构,不需要视图的话,在handlerMethodReturnValueHandler里进行操作,可以重构这个对象,以达到自定义输出 ...
- java实现文字转语音功能(仅Windows)
一.pom.xml引入jar包依赖 <!-- https://mvnrepository.com/artifact/com.jacob/jacob 文字转语音 --> <depend ...
- JAVA接口测试类
package etcom.servlet; import java.io.BufferedReader; import java.io.InputStreamReader; import java. ...