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 ...
随机推荐
- 数据调试~~TCP转串口、串口转TCP调试
Android socket开发了一个socket客户端,当输入服务器ip以及端口,建立连接之后,Android可以发送数据到电脑接收服务器端. 如果电脑端没有socket服务器怎么办?方法如下: 1 ...
- C语言面试题分类->字符串处理
1.strlen:计算字符串长度(不包含'\0') 实现想法:遍历字符串,直到'\0'结束 #include<stdio.h> #include<stdlib.h> #incl ...
- CoreProfiler升级到.NetStandard 2.0
致所有感兴趣的朋友: CoreProfiler和相应的Sample项目cross-app-profiling-demo都已经升级到.NetStandrard 2.0和.NetCore 2.0. 有任何 ...
- 【错误解决】Intellj(IDEA) warning no artifacts configured
: warning no artifacts configured,,上面木有Artifacts的选项,,好尴尬, [解决方案]artifacts,是maven中的概念(项目是maven项目),由于没 ...
- Mysql索引最左匹配原则
先来看个例子: 1. 示例1:假设有如下的一张表: DROP TABLE IF EXISTS testTable; CREATE TABLE testTable ( ID BIGINT NOT NUL ...
- Redis的7个应用场景
一:缓存——热数据 热点数据(经常会被查询,但是不经常被修改或者删除的数据),首选是使用redis缓存,毕竟强大到冒泡的QPS和极强的稳定性不是所有类似工具都有的,而且相比于memcached还提供了 ...
- FFmpeg 结构体学习(六): AVCodecContext 分析
在上文FFmpeg 结构体学习(五): AVCodec 分析我们学习了AVCodec结构体的相关内容.本文,我们将讲述一下AVCodecContext. AVCodecContext是包含变量较多的结 ...
- Python爬虫7-Cookie & Session
GitHub代码练习地址:1.手动利用cookie访问网页:https://github.com/Neo-ML/PythonPractice/blob/master/SpiderPrac10_cook ...
- [Swift]LeetCode811. 子域名访问计数 | Subdomain Visit Count
A website domain like "discuss.leetcode.com" consists of various subdomains. At the top le ...
- 还在使用SimpleDateFormat?你的项目崩没?
如果是在多线程环境下,就需要注意了. 要点: 1.加Synchronized同步: 2.使用ThreadLocal: 3.jdk8使用DateTimeFormatter替代SimpleDateForm ...