1,为什么要使用网页华静态技术。
答:在实际的项目中使用的比较的频繁,对于电商网站的商品详情页来说,至少有几百万个商品,每个商品都有大量的信息,这样的情况同样也适用于网页静态化技术来解决。
2,网页静态化技术和缓存技术的共同点都是为了减轻数据库的访问压力,但是具体的应用场景的不同,缓存比较适合小规模的数据而网页静态化技术比较适合大规模并且变化不太频繁的数据,另外网页静态化技术还有利于seo.
3,将网页以纯静态化的方式展现,就可以使用Nginx这样的高性能的web服务器来部署。Ngin可以承载5W的并发,而Tomcat只有几百。
下面我来解释一下freemarker技术。
一,什么是freemarker?
答:它是一个用jav语言编写的模板引擎,它基于模板来生成文本输.
它是与web容器无关,在web运行时,它并不知道servlet或http。
它不仅可以用作表现层的实现技术,而且还可以用于生成xml,jsp或者java等。
2,freemarker如何使用?
答:创建模板文件ftl后缀。在模板中可以使用的四种元素,
文本:直接输出的部分。
注释,用<#-- -->格式
插值:用KaTeX parse error: Expected 'EOF', got '#' at position 75: …,和html标记类似,名字前加#̲予以区分 …{linkman}
2.定义对象类型
<#assingn info={“mobile”:“12123”}
电话 ${info.mobile}
include指令用来模板文件的嵌套
<#include 模板文件.ftl> 这里的模板文件是不需要加分号的
if指令
<#if success=true> success是我们在java中的模板数据类型传进来的,如果这个success没有在java代码存在时候,那么页面就会报错。
<#if>通常跟着一个<#else>
<#if>
<#else>
</#if>
list指令
<#list goodsList as goods>
这里的goodsList是java代码中的集合数据,将集合中的数据给goods临时变量,我们通过这个临时变量goods来进行输出显示
g
o
o
d
s
在
遍
历
的
时
候
还
有
一
个
自
带
的
属
性
,
那
就
是
下
标
值
,
可
以
通
过
{goods} 在遍历的时候还有一个自带的属性,那就是下标值,可以通过
goods在遍历的时候还有一个自带的属性,那就是下标值,可以通过{goods_index}来获取集合的下标
上面的指令都是常用的,下面的就是内置函数
内置函数的语法格式就是:变量+?+函数名、
1,获取集合的大小
答:我们可以荣国size函数来获取,例子:KaTeX parse error: Expected 'EOF', got '#' at position 97: …那么如何处理呢? <#̲assign text="{'…{data.bank} 账号:${data.account}
解释:因为text的属性里面是json对象,同时json对象外面用双引号包裹的,所以如何想要将双引号去掉,那么就需要转换,就需要用到eval函数
得到一个去掉双引号的json对象。
3,日期格式化
答:在java代码中添加了一个数据模型,当前时间类型的,
那么如果在模板中使用的时候,那么在数据模型中得到的日期类型的格式是看不懂,如果将日期显示成我们需要的格式,那么就是用内置函数
date,time,datetime,string(“yyyy年mm月”),[yyyy-Mm-DD HH:mm:ss.SSS]后面的SSS表示的就是时间戳。
例子: