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的更多相关文章

  1. Springboot集成FreeMarker

    Apache官网对FreeMarker的解释如下: Apache FreeMarker™是一个模板引擎 :一个基于模板和变化的数据来生成文本输出(HTML网页,电子邮件,配置文件,源代码,等等)的Ja ...

  2. springboot 集成 freemarker

    前面我们已经实现了thymeleaf模板,其实freemarker和thymeleaf差不多,都可以取代JSP页面,实现步骤也差不多,我们来简单实现一下 引入pom.xml依赖如下 <depen ...

  3. SpringBoot集成Freemarker与Thymeleaf

    一:概括 pom.xml添加依赖 配置application.yml HTML页面使用表达式 二:Freemarker模板引擎 1.添加依赖 <!-- ftl模板引擎 --> <de ...

  4. SpringBoot集成freemarker和thymeleaf模板

    1.在MAVEN工程POM.XML中引入依赖架包 <!-- 引入 freemarker 模板依赖 --> <dependency> <groupId>org.spr ...

  5. springboot集成freemarker 配置application.properties详解

    #配置freemarker详解 #spring.freemarker.allow-request-override=false # Set whether HttpServletRequest att ...

  6. springboot集成freemarker属性配置(不知道是针对于某个版本,2.0后有变动)

    freemarker属性配置 freemarker属性配置: spring.freemarker.allow-request-override=false # 设置是否允许HttpServletReq ...

  7. SpringBoot集成Freemarker前端模板

    1.在pom.xml中引入freemarker的jar包 <dependency> <groupId>org.springframework.boot</groupId& ...

  8. SpringBoot 集成 FreeMarker 导出 Word 模板文件(底部附源码)

    思路解说 word 模板文件(doc 或 docx 文件)另存为 xml 文件 将后缀 xml 改成 html:大部分文档会改成 ftl(FreeMarker 的后缀名),因为 word 文件另存为 ...

  9. springboot集成freemarker静态资源无法访问

    如题配置文件加上 #设定静态文件路径,js,css等.static为你放置静态资源的文件夹名称,也可以叫别的名字.properties加上 spring.mvc.static-path-pattern ...

随机推荐

  1. 洛谷P1049装箱问题(01背包)

    题目描述 有一个箱子容量为VVV(正整数,0≤V≤200000 \le V \le 200000≤V≤20000),同时有nnn个物品(0<n≤300<n \le 300<n≤30, ...

  2. Jmeter_选项_函数助手_RandomString的用法

    1.用处:测试账户注册可以通过随机生成数实现,而不需要Excel手动输入, 缺点:随机生成数可能会重复 优点:不需要使用CSV config 或者excel ,txt格式 2.举例:之前我们通过CSV ...

  3. java NIO - DirectBuffer 和 HeapBuffer

    问题 : DirectBuffer 属于堆外存,那应该还是属于用户内存,而不是内核内存? FileChannel 的read(ByteBuffer dst)函数,write(ByteBuffer sr ...

  4. 分布式事务 --- CAP 理论

    本文部分来自参考资料!!半原创 概述 介绍CAP理论,并简单地证明了三存二的定论. CAP 理论 1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标.分别为 : C ...

  5. ios 用touchend事件 pc用click touchend击穿

    var clickEvent = (function() { if ('ontouchend' in document.documentElement === true) return 'touche ...

  6. C语言:对长度为7的字符串,除首尾字符外,将其余5个字符按ASCII降序排序。-计算并输出3~n之间所有素数的平方根之和。

    //对长度为7的字符串,除首尾字符外,将其余5个字符按ASCII降序排序. #include <stdio.h> #include <ctype.h> #include < ...

  7. STUN和TURN协议解析

    在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet.很多时候,我们希望网络中的两台主机能够直接进行通信,即所谓的P2P通信,而不需要 ...

  8. springweb 详解。

    spring web架构图 从图中可以看出, 如果要对输出的内容进行重构,不需要视图的话,在handlerMethodReturnValueHandler里进行操作,可以重构这个对象,以达到自定义输出 ...

  9. java实现文字转语音功能(仅Windows)

    一.pom.xml引入jar包依赖 <!-- https://mvnrepository.com/artifact/com.jacob/jacob 文字转语音 --> <depend ...

  10. JAVA接口测试类

    package etcom.servlet; import java.io.BufferedReader; import java.io.InputStreamReader; import java. ...