freemark使用总结
1.下拉框中使用三元表达式:
<option value="1类" ${(bean.col5!?string="1类")?string('selected','')}>1类</option>
2.ftl页面中保留小数
<td><input type="text" class="form-control" value="${(rows[2].col7?string("0.00"))!}" readonly/></td>
3.宏的使用(下拉框案例)
<#macro select id data value="" defaultText="" valueField="value" textField="text">
<select class="form-control input-sm select2" name="${id}" id="${id}">
<option value="">${defaultText}</option>
<#if data?is_hash_ex>
<#list data?keys as key>
<#if key==value>
<option value="${key}" selected>${data[key]}</option>
<#else>
<option value="${key}">${data[key]}</option>
</#if>
</#list>
<#else>
<#list data as dataItem>
<#if valueField!="">
<#if value==dataItem[valueField]?string>
<option value="${dataItem[valueField]}" selected>${dataItem[textField]}</option>
<#else>
<option value="${dataItem[valueField]}" >${dataItem[textField]}</option>
</#if>
<#else>
<#if dataItem==value>
<option value="${dataItem}" selected>${dataItem}</option>
<#else>
<option value="${dataItem}">${dataItem}</option>
</#if>
</#if>
</#list>
</#if>
<select>
</#macro>
调用:
<#import "/macro/control.ftl" as my/>
<@my.select4vld id="bgyy" data=TC_bgyy value="${bean.bgyy!}" /></#if>
4.list遍历
<#list list as user>
第${user_index+1}个用户
用户名:${user.name}
年 龄: ${user.age}
</#list>
遍历的时候排序:
<#list list?sort as l>…</#list>
<#list userList?sort_by(“age”) as user>…</#list>
<#list list? reverse as l>…</#list>。reverse使用同sort相同。reverse还可以同sort_by一起使用
5.判断集合包含关系(主要用于checkBox多选框中)
<input name="role" type="checkbox" ${roleIds!?seq_contains(role.roleId)?string("checked", "")} value="${role.roleId}">${role.roleName}
${roleIds!?seq_contains(role.roleId)?string("checked", "")}
freemark使用总结的更多相关文章
- Freemark笔记
Freemark基本语法知识 Freemark 常用代码总结1 Freemark 常用代码总结2 笔记,吐槽一下freemark的蛋疼语法. 1.elseif 中间不能有空格 2.三目运算符 语法和j ...
- Freemark基本语法知识(转)
FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成: 1,文本:直接输出的部分 2,注释:<#-- ... -->格式部分,不会输 ...
- spring mvc中使用freemark的一点心得
参考文档: FreeMarker标签与使用 连接http://blog.csdn.net/nengyu/article/details/6829244 freemarker学习笔记--指令参考: ht ...
- FreeMark学习(一)
FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMark ...
- freemark页面中获取list循环中的counter
如何在freemark页面中获取到当前list循环的counter 直接上代码 <#list lists as x> <#assign j=x?counter> ${j} // ...
- 放弃FreeMark?
JAVA项目FreeMark 生产静态页面 a) 弊端 i. 依赖后台工程师拼装页面,不利于前端.后台工作完全解耦. ii. ...
- freemark标签从后台接过来数据Boolean在前台还是Boolean输出(四)
FREEMARK标签中输出BOOLEAN值 private boolean showHeader=true; public boolean getShowHeader(){ return this.s ...
- springboot+mybatis+freemark+oauth开发环境搭建
一.创建springboot工程 1.环境介绍: a:jdk版本:1.7 b:Springboot版本:1.5.6(使用1.5.9的版本整合mybatis会报错:java.lang.NoClassDe ...
- freemark、jsp&css
**************************************************************freemark相关**************************** ...
- freemark生成静态网页乱码问题
输出流问题:修改Writer如下: OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(dir), &quo ...
随机推荐
- Data Center手册(1):架构
如图是数据中心的一个基本架构 最上层是Internet Edge,也叫Edge Router,也叫Border Router,它提供数据中心与Internet的连接. 连接多个网络供应商来提供冗余可靠 ...
- Java提高篇(一):区分引用变量与对象
我们有代码: New A=new New(); 下面是这个New的类: class New { public New() { System.out.println("这是New类当中的构造方 ...
- Android 音视频开发(一) : 通过三种方式绘制图片
版权声明:转载请说明出处:http://www.cnblogs.com/renhui/p/7456956.html 在 Android 音视频开发学习思路 里面,我们写到了,想要逐步入门音视频开发,就 ...
- [Swift]LeetCode437. 路径总和 III | Path Sum III
You are given a binary tree in which each node contains an integer value. Find the number of paths t ...
- [Swift]LeetCode593. 有效的正方形 | Valid Square
Given the coordinates of four points in 2D space, return whether the four points could construct a s ...
- ELK之filebeat、logstash多个topic配置
启动多个进程收集日志.直接output到kafka,output到不同的topiccat filebeat.ymlfilebeat.prospectors:- input_type: log path ...
- 多线程系列(四):Task
目录: 为什么要使用任务 任务 一.为什么使用任务 线程池已经可以让我们简单地创建线程,并优化了性能. 但是,线程池的缺点在于,我不清楚我的操作什么时候完成,也不能收到返回值,因为委托是没有返回值的. ...
- FAutoTest-微信小程序 / 公众号H5 自动化利器
X5内核H5自动化背景 近来有很多童靴咨询如何做微信小程序/公众号等H5页面来做自动化,之前写了一篇文章微信小程序自动化测试实践 https://www.cnblogs.com/yyoba/p/945 ...
- python网络-多线程(22)
一.什么是线程 线程(英语:thread)是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.同一进程中的多条线程将共享该进程中的全部系统资源,一个进程可以有很多线程,每 ...
- mongodb高级聚合查询
在工作中会经常遇到一些mongodb的聚合操作,特此总结下.mongo存储的可以是复杂类型,比如数组.对象等mysql不善于处理的文档型结构,并且聚合的操作也比mysql复杂很多. 注:本文基于 mo ...