当前位置: 首页 > news >正文

Spring Boot模板引擎 (三)

1、web应用开发之模板引擎

  • 1.1、spring boot的web应用开发,是基于spring mvc

  • 1.2、Spring boot 在spring默认基础上,自动配置添加了以下特性:

    • 包含了ContentNegotiatingViewResolver和BeanNameViewResolver beans。
    • 对静态资源的支持,包括对WebJars的支持。
    • 自动注册Converter,GenericConverter,Formatter beans。
    • 对HttpMessageConverters的支持。
    • 自动注册MessageCodeResolver。
    • 对静态index.html的支持。
    • 对自定义Favicon的支持。
    • 主动使用ConfigurableWebBindingInitializer bean
  • 1.3、模板引擎的选择

    • FreeMarker
    • Thymeleaf
    • Velocity (1.4版本之后弃用,Spring Framework 4.3版本之后弃用)
    • Groovy
    • Mustache

    注:jsp应该尽量避免使用,原因如下:
    1.jsp只能打包为:war格式,不支持jar格式,只能在标准的容器里面跑(tomcat,jetty都可以)
    2.内嵌的Jetty目前不支持JSPs
    3.Undertow不支持jsps
    4.jsp自定义错误页面不能覆盖spring boot 默认的错误页面

2、FreeMarker Demo

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

spring-boot-starter-freemarker包依赖包含spring-boot-starter-web

3、Thymeleaf Demo

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

4、Jsp Demo

  • 1.新建spring项目—选择war包—选择web、dev模块;
  • 2.在pom.xml文件添加以下依赖(provided表示编译时包含该包):

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
  • 3.在application.xml文件添加以下配置参数:

    spring.mvc.view.prefix=/WEB-INF/templates/
    spring.mvc.view.suffix=.jsp
  • 4.打包后生成的大war包可直接使用java(-jar)命令运行,而小war包需放在容器如tomcat里运行。

5、WebJars Demo -- 附加

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>2.1.4</version>
</dependency>

静态页面的调用:
<script src="/webjars/jquery/2.1.4/jquery.min.js">

6、致谢名单

  • 冯永伟

转载于:https://blog.51cto.com/manongxiaowu/2132665

相关文章:

  • js上传
  • Quagga 配置笔记
  • libstdc++.so.6: version `GLIBCXX_3.4.21'
  • JSR-303 Bean Validation 介绍及 Spring MVC 服务端验证最佳实践
  • 阿里云服务提供商分享CDN访问异常该如何排查
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • 各种品牌进入Bios方式
  • WIFI搜索的到别人,却找不到自己家的wifi
  • Go第三方库
  • http和https和ssl和tcp/ip之间的关系和区别
  • 人工智能20年内取代近半职业?
  • bzoj 1009 [HNOI2008]GT考试——kmp+矩阵优化dp
  • HyperLedger Fabric(超级账本) 入门实战
  • MySQL多实例安装部署
  • 网络命令初步排错
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • JavaScript DOM 10 - 滚动
  • Redis学习笔记 - pipline(流水线、管道)
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 对JS继承的一点思考
  • 给第三方使用接口的 URL 签名实现
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 微信开源mars源码分析1—上层samples分析
  • C# - 为值类型重定义相等性
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • #pragma 指令
  • #微信小程序:微信小程序常见的配置传值
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (2.2w字)前端单元测试之Jest详解篇
  • (6)STL算法之转换
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (二)hibernate配置管理
  • (分布式缓存)Redis分片集群
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .net core Swagger 过滤部分Api
  • /3GB和/USERVA开关
  • @vue/cli 3.x+引入jQuery
  • [【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息
  • [BUG] Authentication Error
  • [C#]使用DlibDotNet人脸检测人脸68特征点识别人脸5特征点识别人脸对齐人脸比对FaceMesh
  • [CSAWQual 2019]Web_Unagi ---不会编程的崽
  • [Docker]四.Docker部署nodejs项目,部署Mysql,部署Redis,部署Mongodb
  • [HDU3710]Battle over Cities
  • [HNOI2010]BUS 公交线路
  • [HTML]Web前端开发技术7(HTML5、CSS3、JavaScript )CSS的定位机制——喵喵画网页
  • [Java开发之路](14)反射机制
  • [leetcode] Balanced Binary Tree
  • [MongoDB]------windos下的安装部署与基础使用
  • [NOIP2005]过河
  • [noip模拟]计蒜姬BFS