0
点赞
收藏
分享

微信扫一扫

Axure的元件库的使用以及详细案例

楚木巽 2023-12-18 阅读 42

目录

Freemarker

1.1.什么是Freemarker

1.2.Freemarker模板组成部分

1.3.优点

FreeMarker常见的方法:

2.2.2.数值

2.2.3.布尔值

2.2.4.日期

2.3.常见指令

2.3.1.处理不存在的值

assign

2.3.4.list

2.3.5.include

SpringBoot整合Freemarker


Freemarker

1.1.什么是Freemarker

1.2.Freemarker模板组成部分

FreeMarker模板文件主要由如下4个部分组成:

FreeMarker与Web容器无关

1.3.优点

FreeMarker常见的方法:

字符串类型处理:

方法含义
?substring(start,end)截取字符串(左闭右开)
?uncap_first首字母小写输出
?cap_first首字母大写输出
?lower_case字母转小写输出
?upper_case字母转大写输出
?length获取字符串长度
?starts_with("xx")?string是否以指定字符开头(boolean类型)
?ends_with("xx")?string是否以指定字符结尾(boolean类型)
?index_of("xx")获取指定字符的索引
?trim去除字符串前后空格
?replace("xx","xx")替换指定字符串

字符串空值情况处理:

2.2.2.数值

2.2.3.布尔值

直接写 true 或者 false 就表示一个布尔值了,不需使用引号。

${flag?c}<br>
${flag?string}<br>
${flag?string("yes","no")}<br>

2.2.4.日期

日期变量可以存储和日期/时间相关的数据。

日期格式输出:

输出方式说明
?date年月日
?time时分秒
?datetime年月日时分秒
?string("自定义格式")指定格式

2.3.常见指令

2.3.1.处理不存在的值

当试图访问一个不存在的变量时, FreeMarker 将会报错而导致模板执行中断。 通常我们可以使用两个特殊操作符来压制这个错误,控制这种错误情况。被控制的变量可以是顶层变量,哈希表或序列的子变量。 此外这些操作符还能处理方法调用的返回值不存在的情况。

  • 默认值操作符

使用形式: unsafe_expr!default_exprunsafe_expr! or (unsafe_expr)!default_expr(unsafe_expr)!

${message!"default Value."}
<#assign message="Zking">
${message!"default Value."}

输出结果如下:

default Value.
Zking

如果默认值被省略了,那么结果将会是空串,空序列或空哈希表。(这是 FreeMarker 允许多类型值的体现)请注意,如果想让默认值为 0false,则不能省略它。

(${message!})
<#assign message = "Zking">
(${message!})

  • 不存在值检测操作符

使用形式: unsafe_expr??(unsafe_expr)??

<#if name??>
  存在
<#else>
  不存在
</#if>

assign

如本次 使用的ctx:

获取到了yml中的

2.3.4.list

list 指令执行在 list 开始标签和 list 结束标签 ( list 中间的部分) 之间的代码, 对于在序列(或集合)中每个值指定为它的第一个参数。 对于每次迭代,循环变量将会存储当前项的值。

循环变量仅仅存在于 list 标签体内。 而且从循环中调用的宏/函数不会看到它(就像它只是局部变量一样)。

<#list sequence as item>
    Part repeated for each item
<#else>
    Part executed when there are 0 items
</#list>

注意:

  • else 部分是可选的, 而且仅仅从 FreeMarker 2.3.23 版本开始支持。

  • sequence: 将我们想要迭代的项,算作是序列或集合的表达式

  • item: 循环变量的名称 (不是表达式)

<#list arrs as item>
    ${item}
<#else>
    集合是空的
</#list>

2.3.5.include

可以使用它在你的模板中插入另外一个 FreeMarker 模板文件 (由 path 参数指定)

<#include path>
或
<#include path options>

这里:

  • path: 要包含文件的路径;

  • options: 一个或多个这样的选项: encoding=encoding, parse=parse

    • encoding: 算作是字符串的表达式

    • parse: 算作是布尔值的表达式(为了向下兼容,也接受一部分字符串值)

    • ignore_missing: 算作是布尔值的表达式

<h1>Hello Freemarker</h1>
<#include "/common/head.ftl">

SpringBoot整合Freemarker

 2.1.配置

配置pom.xml,引入依赖:

application.ym添加:

  freemarker:
# 设置模板后缀名
suffix: .ftl
# 设置文档类型
content-type: text/html
# 设置页面编码格式
charset: UTF-8
# 设置页面缓存
cache: false
# 设置ftl文件路径
template-loader-path: classpath:/templates
# 设置静态文件路径,js,css等
mvc:
static-path-pattern: /static/**

配置Springboot自带的页面:

建立一个templates专门存放ftl文件

index.ftl

common.ftl

<#assign ctx="${springMacroRequestContext.contextPath}">
<link rel="stylesheet" href="${ctx}/bootstrap-3.4.1-dist/css/bootstrap.css">
<script src="${ctx}/jquery-3.6.1.js"></script>
<script src="${ctx}/bootstrap-3.4.1-dist/js/bootstrap.js"></script>

这个文件定义了公共的资源

ctx代表/static/

举报

相关推荐

0 条评论