代码先来看一种正确的写法,然后逐个分析代码:<#assign publishDt="2018-10-19">
<div <#if (bean.createDt?date lt publishDt?date('yyyy-MM-dd'))>style="display:none"</#if>>
</div>这段代码的意思是:如果创建时间小于
1. Freemark 简介FreeMarker是一款模板引擎:一种基于魔板的、用来生成输出文本的通用工具。类似模板引擎还有Velocity,Common Template等。对于java web开发来说,使用FreeMarker模板,可以将java代码从页面中分离出来。开发人员只需关注业务逻辑代码,而由页面设计人员去设计显示效果,两类人员各司其职,发挥其擅长的一面。2. 常用指令FreeMark
FreeMarker的插值有如下两种类型:1,通用插值${expr};2,数字格式化插值:#{expr}或#{expr;format}${book.name?if_exists } //用于判断如果存在,就输出这个值${book.name?default(‘xxx’)}//默认值xxx${book.name!"xxx"}//默认值xxx${book.date?string('yyyy-MM-dd'
1.if-else常用<#if signStatus??> //如果signStatus值存在<#if signStatus=='2'>是<#else>否</#if> <#else>
否
</#if> if-elseif-else1 <#if condition>
2 ...
3 <#
FreeMarker基础知识汇总一.数据类型1.布尔类型2.日期类型3.数值类型4.字符串类型5.空值处理6.sequence类型6.1 数组类型6.2 List类型7.hash类型二.常用指令1.assign自定义变量指令2.if elseif else逻辑判断指令3.list遍历指令4.macro自定义指令5.nested占位指令6.import导入指令7.include包含指令三.Free
原创
2023-06-26 06:07:46
107阅读
数据类型FreeMarker支持的数据类型有 - 标量 - 字符串 - 数字 - 布尔值 - 日期:日期变量可以存储和日期/时间相关的数据。一共有三种变化。精确到天的日期(通常指的是“日期”)
每天的时间(不包括日期部分),时间的存储精确到毫秒。
日期-时间(也称作“时间戳”)。时间部分的存储精确到毫秒。容器哈希表:每个子变量都可以通过一个唯一的名称来查找,这个名称是
[size=medium]string(当和一个日期值一起使用)
这个内置标签用指定的格式把日期转换成字符串,(把默认的格式用FreeMarker的ate_format,time_format和datetime_format设置指定对你有好处,那样的话你就不需要这个标签了。
格式可以是一个预定义的,你也可以明确指定格式。
预定义的格式是:short,
前两天,周末在家无事,想起以前的项目是基于struts2开发的,而在struts2中又大量运用了freemarker,所以就想也去试用下freemarker。 在struts2的guide文章中,说明了为什么要使用freemarker的理由。The framework utilizes FreeMarker because
①导入<dependencies>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency
freemarker使用shiro标签(spring boot)
首先需要写一个类1.
/**2.
* 集成Shiro标签
3.
*/
4.
@Compon
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。目前企业中:主要用Freemarker做静态页面或是页面展示。Freemarker的使用方法:原理一句话,就是你给Freemarker模板和数据,
string(当和一个日期值一起使用) FreeMarker的ate_format,time_format和datetime_format设置指定对你有好处,那样的话你就不需要这个标签了。 格式可以是一个预定义的,你也可以明确指定格式。 short,medium,long和full。定义了结果字符串的长度。例如,如果locale是US_EN,时区是US.PACIFIC
操作字符串函数 1. substring(start,end)从一个字符串中截取子串 start:截取子串开始的索引,start必须大于等于0,小于等于end end: 截取子串的长度,end必须大于等于0,小于等于字符串长度,如果省略该参数,默认为字符串长度。 例子: ${‘str’?substring(0)} 结果为str
${
h:mm:ss”。在调用之前,可以手动设置datetime的格式,如: 2.把date类型表示的日期,转换成字符串格式,字符串输出。${item.time?string("yyyy年MM月dd日")}3.如果item.time为n
原创
2023-03-24 06:30:36
306阅读
ConcurrentHashMap 源码目前在网络上已有众多解析。本文章主要关注方法 transfer,试图仔细解析该实现,如有错漏,请指正。 ConcurrenthashMap 的 transfer 主要是用于扩容重组阶段,当内部数组的容量值超过阈值时,将触发扩容重组, transfer 是该过程的主要实现。 1. 相关概念 2. 解析 1.相关概念 1
freemarker中日期的比较1)如果是两个字符串类型 date1='2013-05-16 12:24:36'; date2='2014-02-08 17:35:12
原创
2013-07-22 11:32:43
10000+阅读
点赞
在页面中直接获取即可,不需要写什么:value=<%=Request.Form("Mobile")%> 或者 是在JS中写function()等。
这个日期的搜索是在当前页面,搜索完也是返回到当前页面,进入当前页面显示的默认提示,当输入时间搜索的时就会显示搜
原创
2017-09-01 17:23:55
2753阅读
${parameters.fieldDate?date} //标准日期转日期字符串${parameters.fieldDate?datetime} //标准日期转日期+时间 字符串${parameters.fieldDate?string("yyyy-MM-dd HH:mm...
原创
2023-05-08 19:26:18
400阅读
date, time, datetime (当用于日期/时间/日期-时间值时)这些内建函数用来指定日期变量中的哪些部分被使用:date:仅日期部分,没有一天当中的时间部分。time:仅一天当中的时间部分,没有日期部分。datetime:日期和时间都在在最佳情况下,你不需要使用这些内建函数。不幸的是, 由于Java平台上的技术限制,FreeMarker 有时不能发现日期中的哪一部