网页静态化技术Freemarker
来源:互联网 发布:淘宝的卖家中心在哪里 编辑:程序博客网 时间:2024/06/05 14:51
网页静态化技术Freemarker 整合spring容器
介绍
- FreeMarker 是一个用 Java 语言编写的模板引擎,它基于模板来生成文本输出。解决了数据库负载问题,数据量大的文本内容等情况,同springdataredis是相辅相成的。 主要用到的场景有新闻的详情的文本内容,电商项目中的新闻详情页
小demo
依赖包
<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version></dependency>
html内容
<body><#--我只是一个注释,我不会有任何输出 -->${name},你好。${message}
生成模板文件
// 数据模型放入模板 生成最终的目的文件public static void main(String[] args) throws IOException { Configuration configuration = new Configuration(Configuration.getVersion()); configuration.setDirectoryForTemplateLoading(new File("E:\\Code\\EE19\\homewok\\品优购\\freemarker\\src\\main\\resources\\")); configuration.setDefaultEncoding("utf-8"); //加载模板 Template template = configuration.getTemplate("test_rui.ftl"); //创建数据模型 HashMap map = new HashMap(); map.put("name", "刘广睿"); map.put("content", "你是最棒的!"); //生成文件的目录 Writer out =new FileWriter(new File("d:\\rui.html")); //输出,关流 try { template.process(map, out); } catch (TemplateException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { out.close(); }}
常用的指令
<#--我只是一个注释,我不会有任何输出 -->${name},你好。${content} <hr/>1. 定义简单类型 <br/><#assign linkman="周星驰"/>你最喜欢的明星 : ${linkman}<hr/>2. 定义对象类型 <br/> <#--下面的单引号 还有双引号 没有区别 --><#assign info={"phone":'18366666666','name':'德玛西亚'}>您的手机号已经用户名: ${info.phone} ${info.name}<hr/>4. if 指令 <br/> <#if success="true"> 成功过登陆 <br/> <#else > 你未通过实名认证 <br/> </#if>共计多少条记录 ${arrayList?size}<br/> <hr/>5. 转换字符串为JSON对象 <br/> <#assign text="{'name':'沈忱','age':'26','sex':'女'}"><#assign data=text?eval />姓名: ${data.name} <br/> 年龄: ${data.age} <br/> 性别: ${data.sex} <br/> <hr/>6. 日期格式化 <br/> 当前日期:${today?date} <br>当前时间:${today?time} <br> 当前日期+时间:${today?datetime} <br> 日期格式化: ${today?string("yyyy年MM月")} <br/> <hr/>7. 判断某变量是否存在:“??”<br/> <#if aaa??> aaa变量存在<#else> aaa变量不存在</#if><hr/>8.缺失变量默认值:“!” 即使aaa不存在也会为null返回,返回后面的内容<br/> ${aaa!'你好北京'}
逻辑比较
比较运算符表达式中支持的比较运算符有如下几个: 1 =或者==:判断两个值是否相等. 2 !=:判断两个值是否不等. 3 >或者gt:判断左边值是否大于右边值 4 >=或者gte:判断左边值是否大于等于右边值 5 <或者lt:判断左边值是否小于右边值 6 <=或者lte:判断左边值是否小于等于右边值 注意: =和!=可以用于字符串,数值和日期来比较是否相等,但=和!=两边必须是相同类型的值,否则会产生错误,而且FreeMarker是精确比较,"x","x ","X"是不等的.其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替>会有更好的效果,因为 FreeMarker会把>解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:<#if (x>y)>
阅读全文
0 0
- 网页静态化技术Freemarker
- 网页静态化技术Freemarker
- freemarker静态化网页
- 网页静态化freemarker
- Freemarker网页静态化
- 网页静态化--Freemarker
- 利用freemarker 静态化网页
- 利用freemarker 静态化网页
- 利用freemarker 静态化网页
- 利用freemarker 静态化网页
- 利用freemarker 静态化网页
- 利用freemarker 静态化网页
- 利用freemarker 静态化网页
- 利用freemarker 静态化网页
- 利用freemarker 静态化网页
- 利用freemarker 静态化网页
- 利用freemarker 静态化网页
- 利用freemarker 静态化网页
- hdu 5572 桌球碰撞问题
- sublime text 3
- 欢迎使用CSDN-markdown编辑器
- NOIP 2003 Senior 3
- p43-3.4
- 网页静态化技术Freemarker
- 程序员心中的“女神”
- 编译原理词法分析
- vue基础动态路由,嵌套路由router-link切换
- 从今天开始写博客
- 怎么花钱能变得富有,除了读书还能这样
- Caused by: java.net.URISyntaxException: Illegal character in query at index , Target host is not sp
- 点击显示/隐藏密码
- POJ 2413 How many Fibs?(高精度暴力)