• 模板引擎简介


    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下的文件受保护,不能被浏览器直接访问。

  • 相关阅读:
    spring+redis+nginx 实现分布式session共享
    nginx 中location和root,你确定真的明白他们关系?
    idea设置自定义快捷键
    jsp 页面导出excel时字符串数字变成科学计数法的解决方法
    Linux 查看tomcat占用的端口号
    mybatis 单一参数时的动态语句
    cxf + spring + maven 开发webservice
    Vim 快捷键
    vim与windows/linux之间的复制粘贴小结
    在Linux中执行.sh脚本,异常
  • 原文地址:https://www.cnblogs.com/chy18883701161/p/12274161.html
Copyright © 2020-2023  润新知