zoukankan      html  css  js  c++  java
  • 模板引擎简介

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

  • 相关阅读:
    POJ3255(次短路)
    POJ2831(次小生成树问题)
    POJ1679(次小生成树)
    POJ2230(打印欧拉回路)
    HDU5469(树的dfs)
    JSON.parse()和JSON.stringify()的区别
    jQuery中.bind() .live() .delegate() .on()的区别
    javascript 伪数组和转化为标准数组
    JavaScript中本地对象、内置对象和宿主对象(转)
    获取非行间样式和定义样式(元素)
  • 原文地址:https://www.cnblogs.com/chy18883701161/p/12274161.html
Copyright © 2011-2022 走看看