SpringBoot 利用freemaker生成静态页面
1、
<!-- freemarker模板 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
<version>1.4.1.RELEASE</version>
</dependency>
2、修改配置
spring.freemarker.suffix=.ftl
spring.freemarker.templateEncoding=UTF-8
spring.freemarker.templateLoaderPath=classpath:templates/
spring.freemarker.content-type=text/html
3、在请求controller中加入生成静态页面代码,可自己封装,此处只做演示
/**
* @Description (http://127.0.0.1/abc.html 访问静态页面)
* @param root
* @param request
*/
private void freeMarkerToHtml(Map<String, Object> root, HttpServletRequest request,String id) {
try {
String path = null;
Template temp = configuration.getTemplate("abc.ftl");
// 以classpath下面的static目录作为静态页面的存储目录,同时命名生成的静态html文件名称
String html = TestController.class.getResource("/").toString() + "static/";
File dirfile = new File(html);
if (!dirfile.exists()) {
dirfile.mkdir();
}
path = html + id + ".html";
// String path = this.getClass().getResource("/").toURI().getPath()
// + "static/student.html";
Writer file = new FileWriter(new File(path.substring(path.indexOf("/"))));
temp.process(root, file);
file.flush();
file.close();
} catch (IOException e) {
e.printStackTrace();
} catch (TemplateException e) {
e.printStackTrace();
}
}
@RequestMapping("/testhtml/{id}")
public String gethtml(HttpServletRequest request, Model model,@PathVariable("id") String id) {
String w = "Welcome FreeMarker jinxudong 哈喽!";
Map root = new HashMap();
root.put("w", w);
freeMarkerToHtml(root, request,id);
model.addAttribute("w", w);
return "abc";
}
可以吧对外开放的页面地址写错静态页的地址 不请求数据库 提高并发量
例如:后台请求地址:http://127.0.0.1/testhtml/1000
静态页地址:http://127.0.0.1/1000.html
SpringBoot 利用freemaker生成静态页面的更多相关文章
- 浅谈php生成静态页面
一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权 ...
- .net 生成 静态页面
.net 生成 静态页面 <!--Main.Aspx--> <%@ page language="C#" %> <%@ import namespac ...
- 比较详细PHP生成静态页面教程
一,PHP脚本与动态页面. PHP脚本是一种服务器端脚本程序,可通过嵌入等方法与HTML文件混合, 也可以类,函数封装等形式,以模板的方式对用户请求进行处理.无论以何种方式,它的基本原理是这样的.由客 ...
- PHP生成静态页面的方法
在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板.缓存 等实现页面静态化,今天就以PHP实例教程形 ...
- 三种C#.net生成静态页面的方法
ASP.NET生成静态页面方法主要有三种 第一种方法:向服务器的动态页面发送请求,获取页面的html代码.这种方法缺点显而易见:速度慢.另外如果请求的动态页面有验证控件的话,返回的html页面却无 ...
- PHP代码为什么不能直接保存HTML文件——>PHP生成静态页面教程
1.server会依据文件的后缀名去进行解析,假设是HTML文件则server不会进行语法解析.而是直接输出到浏览器. 2.假设一个页面中所有都是HTML代码而没有须要解析的PHP语法,则没有必要保存 ...
- Java项目生成静态页面
第一次做项目需要生成静态页面,网上很多大牛对将网页生成静态页面有很多异议.说一下我的看法. 不外乎有以下因素: 1.从页面加载时间来看:静态页面不需要与数据库建立连接,尤其是访问数据量较大的页面,这种 ...
- PHP生成静态页面详解
PHP生成静态页面详解 看到很多朋友在各个地方发帖问PHP生成静态文章系统的方法,以前曾做过这样一个系统,遂谈些看法,以供各位参考.好了,我们先回顾一些基本的概念. 一,PHP脚本与动态页面. PHP ...
- PHP代码为什么不能直接保存HTML文件——>PHP生成静态页面教程
1.服务器会根据文件的后缀名去进行解析,如果是HTML文件则服务器不会进行语法解析,而是直接输出到浏览器. 2.如果一个页面中全部都是HTML代码而没有需要解析的PHP语法,则没有必要保存为PHP文件 ...
随机推荐
- 利用python进行数据分析--numpy基础
随书练习,第四章 NumPy基础:数组和矢量运算 # coding: utf-8 # In[1]: # 加注释的三个方法1.用一对"""括起来要注释的代码块. # 2. ...
- Kaggle 房价预测问题参考资料
作者的 Kaggle 主页:https://www.kaggle.com/pavansanagapati Tutorial - Housing Prices Model Prediction http ...
- 深入JavaWeb技术世界15:深入浅出Mybatis基本原理
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- java1.8 10大新特性
http://blog.csdn.net/u013598111/article/details/49720867 一.接口的默认方法 Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 d ...
- Linux_DNS服务器
目录 目录 DNS DNS Server ServerSite Master DNS Server Forward Domain Reverse Resolution Slave DNS Server ...
- Eclipse java web项目 ,导入IntelliJ IDEA 完整操作!
1.如图,这是一个ec项目,是一个ssh框架,搭建一个后台, 我们在idea 新建一个项目:new - project from Existing sources... 要是不放心,你可以做一个文件备 ...
- fiddler之简单的接口性能测试
在针对某一个/某一些接口,发送相同的请求,不考虑参数的变化时,可以使用fiddler进行简单的性能测试.(使用功能为:replay) 一.replay功能调用 (1.Reissue Requests: ...
- 【ABAP系列】SAP ABAP WRITE字段隐藏的方法
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 字段隐藏的方法 ...
- ubuntu系统下navicat 试用到期解决方案
作者:python技术人 博客:https://www.cnblogs.com/lpdeboke 1.直接删除 /home目录下的 .navicat文件夹(此文件夹隐藏),如果你是64位,文件夹名称可 ...
- Java设计模式——单例模式(static修饰)
1.类的构造器私有化 2.本类内部创建对象(用本类内部public static静态方法返回该静态对象) 3.创建静态变量指向该类. 饿汉式和懒汉式的差异: 1.创建对象的时机不同!(饿汉模式在使用静 ...