我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Freemarker中的循环模式有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Freemarker中的循环模式有哪些

本篇内容介绍了“Freemarker中的循环模式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    Freemarker 3种循环模式

    1. map循环

    举例:

    <#if vo.urlMap??>    <#list vo.urlMap?keys as key>        <li>            <a href="${vo.urlMap[key]!''}" rel="external nofollow" >${key!''}</a>        </li>    </#list></#if>
    • vo.urlMap?keys: 将map中的key循环(类似keySet迭代器)

    • 循环中通过map[key]来取的key对应的value

    • 如果需要当前循环下标, 使用循环对象_index取即可, 如: key_index

    2. list循环

    举例:

    <#list vo.valueList as value>    <td>${value!''}</td></#list>

    3. 自定义次数循环

    举例:

    <!-- 动态长度  --><#list 0..(nums?number)!0 as i>    <td>${vo.valueList[i]!''}</td></#list><!-- 固定长度  --><#list 1..100 as i>    <td>${vo.valueList[i]!''}</td></#list>

    用于配合取出list中的元素(list长度有时少于预期, 所以自定义次数)

    需要注意的是, 由于循环次数和list长度解耦了, 要小心数组越界,

    (可以通过默认值的方式避免)

    如: ${(vo.valueList[i])!'无'}

    将前面整个用括号括起来会自动判定每一步是否为null

    Freemarker 循环遍历数字

    普通的循环遍历是这样:

    <#list recordPage.content as record><!--do someting--></#list>

    要是遍历数字呢?可以这样: max 是传来的值。

    <#list 1..max as i>      <li><a href="#" rel="external nofollow" >${i}</a></li></#list>

    但是如果这样写 -->     <#list 1..${max} as i>   Freemaker会报语法错误。

    当时我的需求是要写一个双层<#list>  外层list遍历对象,内层list需要对象的一个数量属性值来决定这个对象再次遍历几次。

    那上面代码中的max怎么赋值呢,试验了各种情况,只要<#list 1..${max} as i>遍历数字时出现&lsquo;${}&rsquo;,就会报错。所以就试验了下不带 ${} 会出现什么样的情况,于是出现了下面的代码:

    <#list allocationCars as allocationCar>    <#list 1..(allocationCar.qty) as i>        <td>${allocationCar_index+1} . ${i_index}</td>      </#list></#list>

    成功完成需求!

    allocationCars 是后台传来的car对象集合,一般我们使用<#list>遍历后会用  “ defValue="${(allocationCar.brandId?c)!}"  ”这种方式来获取遍历后对象的属性。

    但是又由于<#list>遍历数字时候得语法限制,给max赋值的地方无法使用 &lsquo;${}&rsquo; 。而经过上面的实验得知,在<#list> 标签中获取对象的属性是不需要加&lsquo;${}&rsquo;的,可以直接获取到,看来应该是freemaker的内部机制进行了处理。

    “Freemarker中的循环模式有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    Freemarker中的循环模式有哪些

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    Freemarker中的循环模式有哪些

    本篇内容介绍了“Freemarker中的循环模式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Freemarker 3种循环模式1.
    2023-07-05

    Freemarker中的3种循环模式

    这篇文章主要介绍了Freemarker中的3种循环模式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-14

    shell中有哪些循环格式

    shell中有哪些循环格式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.while 的格式x=1while ((x<=10)) ;do if [ $x ==
    2023-06-09

    java中for循环的方式有哪些

    Java中for循环的方式有以下几种:1. 基本for循环:在已知循环次数的情况下使用,适用于遍历数组或集合等固定大小的数据结构。```javafor (int i = 0; i // 循环体}```2. 增强for循环:用于遍历数组或集合
    2023-10-07

    Python中快的循环方式有哪些

    这篇文章主要介绍“Python中快的循环方式有哪些”,在日常操作中,相信很多人在Python中快的循环方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中快的循环方式有哪些”的疑惑有所帮助!
    2023-07-06

    php中循环数组的方式有哪些

    这篇文章主要介绍“php中循环数组的方式有哪些”,在日常操作中,相信很多人在php中循环数组的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php中循环数组的方式有哪些”的疑惑有所帮助!接下来,请跟
    2023-06-21

    Thymeleaf的循环遍历方式有哪些

    这篇文章主要介绍“Thymeleaf的循环遍历方式有哪些”,在日常操作中,相信很多人在Thymeleaf的循环遍历方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Thymeleaf的循环遍历方式有哪些
    2023-07-02

    linux中有哪些shell循环

    今天就跟大家聊聊有关linux中有哪些shell循环,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。循环语句常见分类:1,for语句2,while语句3,until语句循环体包括两部分
    2023-06-09

    Python中的循环语句有哪些

    今天就跟大家聊聊有关Python中的循环语句有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1 for循环是for循环,可以把集合数据类型list、tuple、dict、set的
    2023-06-14

    golang循环遍历map的方式有哪些

    本篇内容介绍了“golang循环遍历map的方式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!golang循环遍历map的方式有1种,
    2023-07-05

    Python中的循环类型有哪些

    本篇内容介绍了“Python中的循环类型有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 什么是循环在编程中,循环意味着以相同的顺序多次
    2023-06-15

    php中的循环语句有哪些

    php 中提供了以下循环语句:while:条件为 true 时重复执行代码块。do-while:先执行代码块,再检查条件是否为 true,若为真则继续执行循环。for:初始化变量、检查条件、执行代码块,然后增量变量。foreach(数组):
    php中的循环语句有哪些
    2024-04-29

    C#中有哪些循环语句

    C#中有哪些循环语句,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#循环语句之while语句当一个表达式的值为真时,这个语句执行一个语句列表。控制while语
    2023-06-17

    编写Vue v-for循环的方式有哪些

    这篇文章主要讲解了“编写Vue v-for循环的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“编写Vue v-for循环的方式有哪些”吧!这在碰到诸如以下情况时特别好用:渲染数组或
    2023-06-22

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录