(三) Freemarker 常用指令

2024-06-12 08:48
文章标签 指令 常用 freemarker

本文主要是介绍(三) Freemarker 常用指令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一 常用指令

      1. assign: 自定义变量

      2. if else :流程判断指令

      3. list: 变量sequence 

      4. marco: 宏指令(自定义方法)

      5. import: 引入命名空间

      6. include:  嵌入文件指令


二 指令详解

【1. assign 指令】: 自定义变量
    1.1   自定义变量:
        <#assign hw = "hello,world"/>

    1.2  调用:用$ 调用
        hw = ${hw}
    
【2. if 指令】: 判断语句, if 相关的指令中不需要用 $ 号,直接可以从map 中获取元素
    2.1 if else 组合:
        <#if status == 0>
            status is 0
        <#else>
            status is not 0
        </#if>

    2.2 if elseif else 组合:
        <#if status ==0 >
            status = 0
        <#elseif status ==1>
            status = 1 
        <#else>
            status != 0 && status !=1
        </#if>
    
【3. list 指令】:list可以遍历sequence 类型的数据, 即 数组, List, Set
    1.1 foreach:
        <#list citys as city>
            ${city_index} --> ${city}
        </#list>

    3.2   获取遍历索引: 变量名_index 
        <#list names as name>
            ${name_index} --> ${name}
        </#list>

【4. macro 宏指令】, 类似于自定义方法
    1. 定义宏指令(定义方法)
        <#macro sayHello name1 name2>
            hello, ${name1} and ${name2}
        </#macro>

    2. 调用宏指令(调用方法)
        <@sayHello name1="zhangsan" name2="lisi"/>
    
    3. nested 指令: 代替调用宏指令时标签对之间包裹的内容
        <#macro hw>
            hello,<#nested>
        </#macro>
        <@hw>zhangsan,lisi,wangwu,zhaoliu</@hw>
        
【5. import 指令】: 引入命名空间:
    1. 引入命名空间:<#import "templateUtil.ftl" as util />
    2. 调用响应方法:<@util.printEmp employee/>
    3. 调用变量:${util.fileName}
        修改变量:<#assign fileName = "command.ftl" in util />
               ${util.fileName}
            
【6. include 】嵌入文件:
    1. 执行步骤: 
        1. 合并文件: 将被嵌入的文件的内容全部导入当前 文件
        2. 解析: 然后用freemarker 语法解析嵌入的文件片段
    2. 示例:以下是文件 hello.ftl 的文本内容:
       <#include "include.txt" />
    

三 测试结果:

[html]  view plain copy
  1. 二 指令详解  
  2.   
  3. 【1. assign 指令】: 自定义变量  
  4.     1.1   自定义变量:  
  5.         <#assign hw = "hello,world"/>  
  6.     1.2  调用:用$ 调用  
  7.         hw = ${hw}  
  8.       
  9. 【2. if 指令】: 判断语句, if 相关的指令中不需要用 $ 号,直接可以从map 中获取元素  
  10.     2.1 if else 组合:  
  11.         <#if status == 0>  
  12.             status is 0  
  13.         <#else>  
  14.             status is not 0  
  15.         </#if>  
  16.     2.2 if elseif else 组合:  
  17.         <#if status ==0 >  
  18.             status = 0  
  19.         <#elseif status ==1>  
  20.             status = 1  
  21.         <#else>  
  22.             status != 0 && status !=1  
  23.         </#if>  
  24.       
  25. 【3. list 指令】:list可以遍历sequence 类型的数据, 即 数组, List, Set  
  26.     1.1 foreach:  
  27.         <#list citys as city>  
  28.             ${city_index} --> ${city}  
  29.         </#list>  
  30.     3.2   获取遍历索引: 变量名_index  
  31.         <#list names as name>  
  32.             ${name_index} --> ${name}  
  33.         </#list>  
  34.   
  35. 【4. macro 宏指令】, 类似于自定义方法  
  36.     1. 定义宏指令(定义方法)  
  37.         <#macro sayHello name1 name2>  
  38.             hello, ${name1} and ${name2}  
  39.         </#macro>  
  40.     2. 调用宏指令(调用方法)  
  41.         <@sayHello name1="zhangsan" name2="lisi"/>  
  42.       
  43.     3. nested 指令: 代替调用宏指令时标签对之间包裹的内容  
  44.         <#macro hw>  
  45.             hello,<#nested>  
  46.         </#macro>  
  47.         <@hw>zhangsan,lisi,wangwu,zhaoliu</@hw>  
  48.           
  49. 【5. import 指令】: 引入命名空间:  
  50.     1. 引入命名空间:<#import "templateUtil.ftl" as util />  
  51.     2. 调用响应方法:<@util.printEmp employee/>  
  52.     3. 调用变量:${util.fileName}  
  53.         修改变量:<#assign fileName = "command.ftl" in util />  
  54.                ${util.fileName}  
  55.               
  56. 【6. include 】嵌入文件:  
  57.     1. 执行步骤:  
  58.         1. 合并文件: 将被嵌入的文件的内容全部导入当前 文件  
  59.         2. 解析: 然后用freemarker 语法解析嵌入的文件片段  
  60.     2. 示例:以下是文件 hello.ftl 的文本内容:  
  61.        <#include "include.txt" />  

这篇关于(三) Freemarker 常用指令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053748

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

019、JOptionPane类的常用静态方法详解

目录 JOptionPane类的常用静态方法详解 1. showInputDialog()方法 1.1基本用法 1.2带有默认值的输入框 1.3带有选项的输入对话框 1.4自定义图标的输入对话框 2. showConfirmDialog()方法 2.1基本用法 2.2自定义按钮和图标 2.3带有自定义组件的确认对话框 3. showMessageDialog()方法 3.1

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

nginx介绍及常用功能

什么是nginx nginx跟Apache一样,是一个web服务器(网站服务器),通过HTTP协议提供各种网络服务。 Apache:重量级的,不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。这些都决定了Apache不可能成为高性能WEB服务器  nginx: