freeMarker生成静态html页面
yml配置freemarker
freemarker:request-context-attribute: req #req访问requestsuffix: .ftl #后缀名content-type: text/htmlenabled: truecache: false #缓存配置template-loader-path: classpath:/templates/ #模板加载路径 按需配置charset: UTF-8 #编码格式settings:number_format: '0.##' #数字格式化,无小数点
创建ftl文件
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>freeMarker</title>
</head>
<body><ul><#list list as obj><li>${obj.peMeTitle}</li></#list></ul>
</body>
</html>
模板生成html文件的工具类
/*** 封装freemarker用于创建模板和加载模板*/
public class FreeMarkerUtil {private static final String htmlUrl = "C:\\Users\\ysx\\Desktop\\xxx\\";//生成静态html文件的位置private static final Version configVersion = Configuration.VERSION_2_3_28;//版本private static final Configuration config = new Configuration(configVersion);//单例private FreeMarkerUtil(){}/*** @param templateName 模板名字* @param root 模板根 用于在模板内输出结果集* @param indexFileName 输出对象 具体输出到哪里*/public static void processTemplate(String templateName, Map<?,?> root, String indexFileName){Writer out = null;try{out = new OutputStreamWriter(new FileOutputStream(htmlUrl+indexFileName),"UTF-8");//获得模板Template template=config.getTemplate(templateName,"utf-8");//生成文件(这里是我们是生成html)template.process(root, out);out.flush();} catch (IOException e) {e.printStackTrace();} catch (TemplateException e) {e.printStackTrace();}finally{try {out.close();out=null;} catch (IOException e) {e.printStackTrace();}}}/*** 初始化模板配置* @param templateDir 模板位置*/public static void initConfig(String templateDir){config.setLocale(Locale.CHINA);config.setDefaultEncoding("utf-8");config.setEncoding(Locale.CHINA, "utf-8");config.setClassForTemplateLoading(FreeMarkerUtil.class,templateDir);config.setObjectWrapper(new DefaultObjectWrapper(configVersion));}/*** 默认模板位置*/static {initConfig("/templates");}
}
调用工具类生成静态页面
@GetMapping("/freeMarker/html")public String freeMarkerHtml() {List<PermissionMenu> list = permissionMenuService.list();Map<String, Object> root = new HashMap<>();root.put("list",list);//根据模板生成静态html页面FreeMarkerUtil.processTemplate("/html/index2.ftl",root,"index2.html");return "forward:/static/index2.html";}
freeMarker生成静态html页面相关推荐
- 生成html页面的ftl文件,FreeMarker生成静态HTML页面的工具类FreeMarkerUtil
FreeMarker生成静态HTML页面的工具类FreeMarkerUtil 一.FreeMarkerUtil工具类: import com.huaxia.entity.News; import co ...
- freemarker html 乱码,Freemarker生成静态html文件及中文乱码的问题.pdf
Freemarker生成静态html文件及中文乱码的问题,freemarker静态化页面,freemarker静态化,freemarker乱码,freemarker静态方法,freemarker中文乱 ...
- Freemaker生成静态html页面
FreeMarker 是一个用Java编写的模板引擎,主要用来生成HTML Web页面,特别是基于MVC模式的应用程序.虽然FreeMarker具有一些编程的能力,但不像PHP,通常由Java程序准备 ...
- smarty能创建 php页面,smarty 生成静态html页面
生成静态页面,用php生成会比smarty生成要快,但是如果你用smarty模板做的页面,现在要生成html的话,就可以看看这篇smarty 生成静态html页面教程物.<?php $tpl = ...
- 利用Java生成静态HMTL页面的方法收集
利用Java生成静态HMTL页面的方法收集 生成静态页面技术解决方案之一 转载者前言:这是一个全面的jsp动态页面静态化方案,本站的帖子静态化方案将借鉴这篇帖子中方法.向[url]http://www ...
- php动态生成页面结构,PHP 动态生成静态HTML页面示例代码
temp.html {penglig_site_title} test.php header('content-type:text/html; charset=utf-8');//防止生成的页面乱码 ...
- ftl保存成html中文是乱码,解决freemarker生成静态页面时乱码问题
在使用freemarker技术生成静态页面时,虽然在各方面统一使用utf8编码,但是生成的页面还是乱码.查阅相关资料,对模板,代码等都设置了一下,最终解决乱码问题. 首先,模板文件确定是UFT-8编码 ...
- Freemarker生成静态化文件
页面 test1.ftl <!DOCTYPE html> <html> <head><meta charset="utf-8">&l ...
- 通过xml 生成html页面,使用xmldom在服务器端生成静态html页面
服务器端的生成的页面数据,为了提高访问速度,往往需要生成静态的htm页面. 通常,可以使用fso生成静态的htm页. 但如果是fso被禁止或没有使用fso的权限,就需要其他的方法来解决. 利用xmld ...
最新文章
- vb.net调用oracle存储过程,今天搞好了VB.NET调用Oracle存储过程返回游标的问题
- 为什么将这两次相减(在1927年)会得出奇怪的结果?
- 20165303实验一 Java开发环境的熟悉
- Java经典面试题整理及答案详解(三)
- 保险报业携手万丈金数 探索大数据应用升级
- redis之proxy集群之twemproxy
- FIIL邬宁:AI能锦上添花,但耳机成不了下一个智能音箱
- Android studio 导包时,容易出现的问题【包括最新版本的问题】
- 视频无损裁剪、转换、合并、加水印、加特效?一切搞定!
- 连接共享打印机时提示无法访问计算机,共享打印机无法连接,教您共享打印机无法连接怎么办...
- 轻量易用的网站bug与性能监控平台——灵雀应用监控平台
- js代码优化8个优点
- 分享一个很好的卸载绿色软件:Geek Uninstaller(个人用户免费)
- python生成多级文件夹_利用 python 遍历多级文件夹处理不同文件
- 企业wifi安全管家,贴身又暖心的wifi管理系统
- 在线网址URL生成二维码的API接口
- android+sony+动态背景音乐,音乐流媒体时代,索尼ZX505给你不一样的感动
- xmpp中文 XEP-0054:电子名片
- Data Visualization(二)
- 0930融资快讯|医疗健康、先进制造、人工智能行业投融资快讯