freemarker循环、下标及判断
一、freemarker中list循环使用非常频繁,下面介绍lfreemarker中list简单的用法
1、在freemarker中遍历list数组使用list指令:<#list sequence as item>...</#list>;
其中sequence为集合(controller)的表达式,item是循环变量名(别名),不可是表达式;
在遍历sequence的时候会将sequence中的变量或者对象放到item中,后面使用时只需用item即可;
例如:<#list libraryVOs as libraryVO>
注: libraryVOs集合为标签集合,GroupDTO为标签组
libraryVOs为sequence表达式,libraryVO为item变量;libraryVOS中有多个GroupDTO对象,在遍历时会将GroupDTO存放到libraryVO中。如果取GroupDTO中的名称
使用${libraryVO.applyName};
2、item_index:当前迭代项在所有迭代项中的位置,是数字值。
3、freemarker判断<#if (x>y)></#if> 注:要使用括号括起来
<ul>
<#list libraryVOs as libraryVO>
<li>
<span class="content-l-title">${libraryVO.groupDto.applyName}(${libraryVO.count}):</span>
<ul class="content-l-content">
<#list libraryVO.labelDto as labelLibrary>
<#if (labelLibrary_index <= 3)>
<li>
<span class="second-title">${labelLibrary.applyName}:</span>
<span class='second-title hide' id='labelId${labelLibrary.autoId}'>${labelLibrary.applyName}</span>
<label for="checkbox10" class="checkbox${labelLibrary.autoId}0" onclick="getLabelCustom(${labelLibrary.autoId})">
<input type="radio" id="checkbox0${labelLibrary.autoId}" value="1" name="tag1">
<b><img src="${resRoot}/css/images/xianze.png" alt=""></b>
自定义
</label>
<label for="checkbox11" class="checkbox${labelLibrary.autoId}1" onclick="getLabelAll(${labelLibrary.autoId})">
<input type="radio" id="checkbox1${labelLibrary.autoId}" value="0" name="tag1">
<b><img src="${resRoot}/css/images/xianze.png" alt=""></b>
不限
</label>
<input id="tagSel${labelLibrary.autoId}" name="tagSel${labelLibrary.autoId}" onclick="showTag(${labelLibrary.autoId}); return false;" class="tag-item ${labelLibrary.autoId} hide" type="text" readonly value="">
<input id="tagSelId${labelLibrary.autoId}" name="tagSelId${labelLibrary.autoId}" type="hidden" value="" style="width:120px;">
<div id="tagContent${labelLibrary.autoId}" class="tagContent${labelLibrary.autoId}" style="position: absolute; left: 64px; display:none;width:160px;height:200px;overflow-y:scroll;overflow-x:auto;z-index:5555;background: #fff;">
<ul id="tagDemo${labelLibrary.autoId}" class="ztree"></ul>
</div>
</li>
</#if> <#if (labelLibrary_index > 3)>
<li class="list hide">
<span class="second-title">${labelLibrary.applyName}:</span>
<span class='second-title hide' id='labelId${labelLibrary.autoId}'>${labelLibrary.applyName}</span>
<label for="checkbox10" class="checkbox${labelLibrary.autoId}0" onclick="getLabelCustom(${labelLibrary.autoId})">
<input type="radio" id="checkbox0${labelLibrary.autoId}" value="1" name="tag1">
<b><img src="${resRoot}/css/images/xianze.png" alt=""></b>
自定义
</label>
<label for="checkbox11" class="checkbox${labelLibrary.autoId}1" onclick="getLabelAll(${labelLibrary.autoId})">
<input type="radio" id="checkbox1${labelLibrary.autoId}" value="0" name="tag1">
<b><img src="${resRoot}/css/images/xianze.png" alt=""></b>
不限
</label>
<input id="tagSel${labelLibrary.autoId}" name="tagSel${labelLibrary.autoId}" onclick="showTag(${labelLibrary.autoId}); return false;" class="tag-item ${labelLibrary.autoId} hide" type="text" readonly value="">
<input id="tagSelId${labelLibrary.autoId}" name="tagSelId" type="hidden" value="" style="width:120px;">
<div id="tagContent${labelLibrary.autoId}" class="tagContent${labelLibrary.autoId}" style="position: absolute; left: 64px; display:none;width:160px;height:200px;overflow-y:scroll;overflow-x:auto;z-index:5555;background: #fff;">
<ul id="tagDemo${labelLibrary.autoId}" class="ztree"></ul>
</div>
</li>
</#if>
</#list>
<#if (libraryVO.labelDto?size > 3)>
<li>
<span class="l-more">更多<i class="more-icon"></i></span>
<span class="l-close hide">收起<i class="close-icon"></i></span>
</li>
</#if>
</ul>
</li>
</#list>
</ul>
freemarker循环、下标及判断的更多相关文章
- C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例
C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判 ...
- python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 1. 创建一个 zqxt_tm ...
- Java 控制语句:循环、条件判断
基础很重要,基础很重要,基础很重要.重要的事情说三遍,. 程序设计中的控制语句主要有三种:顺序.分支和循环.我们每天写的代码,除了业务相关,里面会包含大量的控制语句.但是控制语句的基本使用,是否有些坑 ...
- 脚本开头,python预编译,控制台输入输出,for,while循环,分支判断,break,continue
3. name = input("name:")与2.x中raw_input一回事, 注意接收的变量全部默认为字符串类型. 从控制台接收用户输入,而密文输入import getpa ...
- for循环里面的判断条件
先看下面这段代码,你很容易猜到结果 for(i=0;i<10;i++){ console.log(i); // 结果是打印出 1,2,3,4,5,6,7,8,9 } 再看一下这款代码,也许很容易 ...
- Swift流程控制之循环语句和判断语句详解
Swift提供了所有c类语言的控制流结构.包括for和while循环来执行一个任务多次:if和switch语句来执行确定的条件下不同的分支的代码:break和continue关键字能将运行流程转到你代 ...
- Ansible系列(六):循环和条件判断
本文目录:1. 循环 1.1 with_items迭代列表 1.2 with_dict迭代字典项 1.3 with_fileglob迭代文件 1.4 with_lines迭代行 1.5 with_ne ...
- PHP和JS在循环、条件判断中的不同之处
一.条件判断: php中算 false 的情况 1. boolean:false 2. 整形:0 3.浮点型:0 4.字符串:"" "0"(其他都对) 5.空 ...
- 不使用循环或递归判断一个数是否为3的幂(leetcode 326)
326. Power of ThreeGiven an integer, write a function to determine if it is a power of three. Follow ...
随机推荐
- spring (反射+代理+DI+AOP)
spring https://baijiahao.baidu.com/s?id=1620606848227713760&wfr=spider&for=pc 反射 https://bl ...
- “用户名不在 sudoers文件中,此事将被报告” 解决方案
第一次接触Docker是在CentOS上搭建的,没想到第一步就被弄懵了:执行sudo时提示“XXX 不在sudoers文件中,此事将被报告”. 这才刚开始就遇到个未知问题,于是上网找了下解决方法,嗨, ...
- 123457123457#0#-----com.yuming.drawGame01--前拼后广--儿童画画游戏
com.yuming.drawGame01--前拼后广--儿童画画游戏
- selenium3 web自动化测试框架 三:项目实战中PO模型的设计与封装
po模型设计思想 Page Object 模式主要是将每个页面设计为一个class,其中包含页面中的需要测试的元素(按钮,输入框,标题等),这样在Selenium测试页面中可以通过调取页面类来获取页面 ...
- 高级UI-Snackbar
在与用户的交互中,最为常用的Toast和Dialog,但二者都存在其局限,Toast无法与用户进行交互,Dialog虽然可以与用户交互,但却会阻断用户操作的连贯性,介于二者之间的平衡,Snackbar ...
- csu 1756: Prime
1756: Prime Submit Page Summary Time Limit: 3 Sec Memory Limit: 128 Mb Submitted: 281 ...
- vim文本编辑器的介绍及使用
(一)什么是vim编辑器 在Linux系统中配置应用服务,实际上就是在修改它的配置文件(配置文件可能有多个,其中包含不同的参数),而且日常工作中也一定免不了编写文档的事情吧,这些都是要通过文本编辑器来 ...
- 关于iframe的一些使用
在iframe页面,获取当前iframe的id var iframeId = window.frameElement.id.toString(); 获取父窗口中另一个iframe的iframe,注意返 ...
- nginx之配置proxy_set_header问题梳理
客户端请求web服务,客户端:ip:192.168.223.1 nginx作为反向代理服务器:192.168.223.136 nginx作为后端web服务器:192.168.223.137 前提条件: ...
- The Select mechanism in linux for block mechanism
Today, some one mention theknowledge of Select Mechanism. It's better to konw something about it ! O ...