freemarker常见语法大全,已拿意向书

本文详细介绍了Freemarker模板语言中常见的内置函数,如字符串处理、数值操作、逻辑判断、集合操作以及宏和模板的使用方法。此外,还提及了变量的类型和面试技巧,为初级前端开发者提供学习资源.
摘要由CSDN通过智能技术生成

常见的一些内置函数

对于字符串

html-对字符串进行HTML编码

cap_first-使字符串第一个字母大写

lower_case-将字符串转换成小写

trim-去掉字符串前后的空白字符

示例:${“freeMarker”?cap_first}

对于Sequences(序列)

size-获得序列中元素的数目

对于数字

int-取得数字的整数部分(如-1.9?int的结果是-1)

对于集合,可以使用数组的方式,使用下标索引进行访问

逻辑判断:

if…

<#if condition>…

<#elseif condition2>…

<#elseif condition3>…

<#else>…

Boolean类型的空值判断

空值判断可以写成<#if book.name?? > //注意${}为变量的渲染显示,而<>为定义等操作符的定义

switch…

<#switch value>

<#case refValue1>

<#break>

<#case refValue2>

<#break>

<#case refValueN>

<#break>

<#default>

</#switch>

快速定义int区间的集合

<#assign l=0…100/> //注意不需要[]

3:循环读取集合: 注意/的使用

<#list student as stu>

${stu}

</#list>

与jstl循环类似,也可以访问循环的状态

item_index:当前变量的索引值

item_has_next:是否存在下一个对象 其中item名称为as后的变量名,如stu

集合长度判断

<#if student?size != 0></#if> 判断=的时候,注意只要一个=符号,而不是==

宏/模板

初步了解: 使用更像一个闭包closure,可以定义后,在脚本中任意地方引用,并原地起作用

<#macro greet>

Hello Joe!

</#macro>

使用的方式为:

<@greet>/@greet //同xml可以简写成<@greet/>

宏的参数定义,类似js,在宏名后 带参数进行传递定义

<#macro greet person color>

${person}

</#macro>

调用带参数时,注意使用类似XML的属性格式进行传递,不需要关心顺序问题

<@greet person=“Fred” color=“black”/>

参数默认值定义,如果没有,就必须要求传递完整的参数列表

<#macro greet person color=“black”>

Hello ${person}!

</#macro>

使用xml的嵌套内容进行传递宏调用,关键标签 <#nested>

<#macro border>

<#nested>

</#macro>

调用时:

<@border>The bordered text/@border

<#nested> 标签可以在宏中多次调用,也可以将多个宏组合进行嵌套

for循环的精简版:

<#list 1…count as x>

</#list>

宏的循环变量,配合嵌套标签进行参数传递,

<#macro repeat count>

<#list 1…count as x>

<#nested x, x/2, x==count> //这里的三个参数,将会传递到嵌套内容中

</#list>

</#macro>

<@repeat count=4 ; c, halfc, last>

${c}. ${halfc}<#if last> Last!</#if> //这里的内容由macro中的<#nested>进行参数的传递,传递的数量任意,当注意需要宏接受这些

/@repeat

上述还需要注意;的使用

参数的数量是可变的,并不要求全部都有,但是效果不同

在模板中定义变量

在模板中定义的变量有三种类型:

plain变量:可以在模板的任何地方访问,包括使用include指令插入的模板,使用assign指令创建和替换。

局部变量:在宏定义体中有效,使用local指令创建和替换。

循环变量:只能存在于指令的嵌套内容,由指令(如list)自动创建;宏的参数是局部变量,而不是循环变量

<#assign x = “plain”> //全局的plain变量

内部循环变量将会隐藏同名的外部循环变量

外部导入的使用,可以用于模块化,并且提供公用性

如:lib/my_lib.ftl文件

<#macro copyright date>

Copyright (C) ${date} Julia Smith. All rights reserved.


Email: ${mail}

</#macro>

<#assign mail = “jsmith@acme.com”>

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

文末

我一直觉得技术面试不是考试,考前背背题,发给你一张考卷,答完交卷等通知。

首先,技术面试是一个 认识自己 的过程,知道自己和外面世界的差距。

更重要的是,技术面试是一个双向了解的过程,要让对方发现你的闪光点,同时也要 试图去找到对方的闪光点,因为他以后可能就是你的同事或者领导,所以,面试官问你有什么问题的时候,不要说没有了,要去试图了解他的工作内容、了解这个团队的氛围。

前端面试题汇总

JavaScript

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

性能

linux

前端资料汇总

.png)

性能

linux

前端资料汇总

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值