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 ...
随机推荐
- 如何十倍提高你的webpack构建效率
前言 http://jafeney.com/2016/07/10/2016-07-10-webpack/ webpack 是个好东西,和 NPM 搭配起来使用管理模块实在非常方便.而 Babe ...
- React拾遗(下)
reconciliation(协调算法) react用于更新DOM的算法.基于两点假设,实现了一个启发的O(n)算法: 两个不同类型的元素将产生不同的树. 通过渲染器附带key属性,开发者可以示意哪些 ...
- 多网卡下如何配置指定IP走某个路由器(适用于外网不通,但是钉钉服务器通的情况)
# 多网卡下如何配置指定IP走某个路由器(适用于外网不通,但是钉钉服务器通的情况) ## 如何查看一个进程建立的网络连接,方式一 - 查看进程pid `ps -ef|grep dingtalk`- 查 ...
- PorterDuffXfermode之Mode.SRC_IN
package com.loaderman.customviewdemo.view; import android.content.Context; import android.graphics.B ...
- tensorflow cpu问题
返回: -- ::] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 ...
- Realsense D430 save
rs-save-to-disk.cpp // License: Apache 2.0. See LICENSE file in root directory. // Copyright(c) 2015 ...
- osg机械臂模拟
实现自由旋转
- 26Flutter 日期 和时间戳/格式化日期库/flutter异步/ 官方自带日期组件showDatePicker、时间组件showTimePicker以及国际化
/* 一.Flutter日期和时间戳 日期转换成时间戳 var now=newDateTime.now(); print(now.millisecondsSinceEpoch); //单位毫秒,13位 ...
- docker之redis使用
#拉取redis > docker pull redis:latest latest: Pulling from library/redis 8d691f585fa8: Pull complet ...
- python之socket编程(一)
socket之前我们先来熟悉回忆几个知识点. OSI七层模型 OSI(Open System Interconnection)参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标 ...