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 ...
随机推荐
- PCA与LDA
- OS X环境下如何搭建编译Cocos2D-X v3.x的Android Studio工程
Cocos2D-X官网已经简单介绍了如何在OS X环境下搭建Cocos2D-X v2.x和v3.x的指南.具体链接为:http://www.cocos.com/doc/article/index?ty ...
- linux cheese摄像机工具在window电脑上显示
1.SSH Secure Shell Client 2.Xming 实现步骤: 1.运行Xming工具 2.运行SSH Secure Shell Client,登陆linux系统 输入命令:expor ...
- UI——DOM
原文链接:Introduction to the DOM Introduction The Document Object Model, usually referred to as the DOM, ...
- 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_11-课程详情页面静态化-课程信息模板设计
测试模板 页面的模板已经做好了 直接那来用 测试模板,把这个模板copy到这个测试freemarker的resources目录 远程调用 获取数据 返回模板的文件名 tomcat不支持ssr.ngin ...
- jmeter 随机取一个值的方法
1.添加用户自定义变量 在要用到随机值的地方写入 ${__RandomFromMultipleVars(1|2|0)} 例子: 效果:
- LeetCode_112. Path Sum
112. Path Sum Easy Given a binary tree and a sum, determine if the tree has a root-to-leaf path such ...
- Django:django后台传递数据到js中
#奇怪传递字典时前台接收不到???datalist= [{'site': '自强学堂', 'author': '涂伟忠'}]#只要列表能接收# datalist=[[93, 93, 0, 100.01 ...
- 性能测试loadrunner11工具再也不用担心浏览器兼容的问题了(目前试过的各版本浏览器都是成功的)
工具:Loadrunner 11.0+Fiddler+浏览器(谷歌.火狐.IE等) 步骤一:查看抓包工具Fiddler对应的端口 1.打开Fiddler------工具------选项-----连接, ...
- 安装CCS提示错误Windows8.1-KB2999226-x64安装提示 此更新不适用你的计算机
问题如图所示: 解决方案: 放在D:\目录下 windows键+X 选择 命令提示符(管理员) 一定要是管理员 打开cmd 分别执行下面两句.红色部分就是自己的更新程序了.其他安装同理 例如Wi ...