仅供自己学习、参考
include、import
<#import "../common/spring.ftl" as spring />
<#include "header.ftl" parse=true encoding="utf-8">
-- 获取项目跟路径
<#assign ctx=request.contextPath/>
${ctx}
-- <#if> <#list> 里不需要用 $获取
-- <#assign bm = "${param}" >
用 $ 获取的参数一般 前后加 “”
要用数字 则可以转换 eg:<#assign bm = "${param}" ?number>
-- <#if> 比较大小
里面比较大小,eg:<#if (3>5)></#if>
-- 获取session
${Session["userSession"]?default("Session")}
获取session里 实体的值
${userSession.nickname}
-- 变量自定义值
<#assign hh="${userSession.roles}" >
判断 roles 包含3 <#if roles?contains("3")>
<#assign ctx=request.contextPath>
-- 获取 url 上带的参数如 msgEmail=56464@qq.com
${RequestParameters["msgEmail"]?default("")}
-- 获取request 传来的值 包括request.setAttribute("","")
<#if Request["shoppingCart"]?exists>
-- 判断数值存在与否
<#if Session["userSession"]?exists>
666
<#else>
777
</#if>
-- 获取绑定的key
model.addAttribute("oneOne",oneoneList);
页面获取 ${}获取即可
<#list oneOne as one>
-- 获取实体里的 自定义 集合属性
one 代表 实体,childList是自定义的一个集合
<#list one.childList() as child>
</#list
</#list
list<Category>
-- freemarker 数字输出中的逗号问题
model.put("t",i);
在freemarker中显示为100,000,000
想按原样输出时${t} 显示为100,000,000
${t?c} 显示为100000000
如果不加?c 默认情况下freemarker会将数字用逗号分隔
如何去掉","逗号呢.,加上"?c"就可以了。
-- 自定义list循环及终止
<#list [1,2,3] as x>
${x}
<#if x == 3>
<#break>
</#if>
</#list>
-- 获取国际化文件
引入spring.ftl
页面输出
<@spring.message "handle.reSubmit"/>
-- 国际化 动态传值
home.teaching.experience=${0}年工作经验
直接用如下:[ ] 必须要 且里面是字符串
${springMacroRequestContext.getMessage("home.teaching.experience",["9"])}
-- contains 包含用法
<#--声明一个序列,包含若干个元素-->
<#assign x = ["red", 16, "blue", "cyan"]>
如果不是map <#if roles?contains("3")>
<#--使用seq_contains判断序列中的元素是否存在-->
"blue": ${x?seq_contains("blue")?string("yes", "no")}
"yellow": ${x?seq_contains("yellow")?string("yes", "no")}
-- list标签遍历map:
<#list avertisementTypeMap?keys as key>
<option value="${key}">${avertisementTypeMap[key]}</option>
</#list>
-- 五星好评
<#assign avgScore=item.avgScore?default(0)>
<#list 1..5 as xx>
<#if (xx <= avgScore)><i class="fa fa-star"></i>
<#else>
<i class="fa fa-star-o"></i></#if>
</#list>
-- string 用于将数字转换为字符串
Freemarker 中预订义了三种数字格式:number,currency(货币)和percent(百分比)其中number为默 认的数字格式转换
例如:
<#assign tempNum=20>
${tempNum}
${tempNum? string .number}或${tempNum? string (“number”)} 结果为20
${tempNum? string .currency}或${tempNum? string (“currency”)} 结果为¥20.00
${tempNum? string . percent}或${tempNum? string (“percent”)} 结果为2,000%
-- 字符串转数字
<#assign test="${param}"?number>
${“60.60”?number} 结果为60.60
-- 日期 (后台传的是秒)
${item.createTime?string("yyyy-MM-dd HH:mm:ss")}
-- macro 自定义标签
自定义标签,其中 bm是自定义标签 param是参数 可以是多个参数
<#macro bm param>
this is ${param}
</#macro>
调用的时候:
<@bm param="90"/> 输出为:this is "90"
相关推荐
本篇将深入探讨如何自定义FreeMarker标签,以扩展其功能并适应特定项目需求。 首先,理解FreeMarker的默认标签语法至关重要。FreeMarker使用${...}表达式来插入变量,#{...}用于输出注释,以及、等控制结构进行条件...
在提供的"TestFreemarkerDiy"示例中,可能包含了一个简单的自定义标签实现以及一个演示如何使用该标签的Freemarker模板文件。通过分析这个示例,我们可以学习如何在实际项目中应用自定义标签,以提高模板的可维护性...
Freemarker 简介及标签详解大全 FreeMarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯 Java 编写。FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序。虽然 FreeMarker ...
这篇学习文档将带你深入理解Freemarker的基础知识和高级特性,并通过Jeecms模板标签的使用,让你更好地掌握实际开发中的应用。 1. **Freemarker基础** - **模板语言**:Freemarker使用简单的文本模板语言,将数据...
FreeMarker标签使用FreeMarker标签使用FreeMarker标签使用FreeMarker标签使用
访问freemarker标签大全:http://www.web-tag.net/all_16.htm freemarker 标签大全 freemarker 标签大全
要扩展Struts2的FreeMarker标签库,你需要遵循以下步骤: 1. **创建模型类**: 定义模型类来封装业务逻辑和数据,如`AmHtmlModel`。 2. **实现标签类**: 创建一个Java类来实现自定义标签,例如`AmHtml`,并继承自...
8. **自定义标签**:除了内置的Shiro标签,开发者还可以根据项目需求自定义FreeMarker标签,扩展Shiro的功能,实现更具体的权限控制逻辑。 9. **错误处理**:在模板中使用Shiro标签时,要注意异常处理。当用户权限...
5. **使用自定义标签**:完成上述步骤后,你就可以在FreeMarker模板中使用自定义标签了。在模板文件中,自定义标签通常以`<@yourTag>`的形式出现。 以下是实现这个功能的一些关键代码片段: ```java // 自定义标签...
4. **FTL标签**:即FreeMarker模板语言标签,这些标签允许在HTML标记之外使用FreeMarker特有的语法,以便更好地控制模板的行为。例如,在HTML中使用#作为前缀的标签,会将其识别为FreeMarker指令而非HTML标签。 ###...
在这个主题“freemarker自定义分页标签宏”中,我们将深入探讨如何在FreeMarker中创建自定义的分页标签宏,以便更有效地管理和展示大量数据。 首先,分页是一种常见的网页设计技术,用于将大量数据分割成小块,使...
如果全用不存在的指令,FreeMarker不会使用模板输出,而是产生一个错误消息.FreeMarker会忽略FTL标签中的空白字符.值得注意的是, /> 和指令之间不允许有空白字符. 2, 插值规则 FreeMarker的插值有如下两种类型:1,...
下面将详细介绍Spring MVC与Freemarker自定义标签的使用。 首先,我们需要了解Freemarker的基础。Freemarker是一个基于模板的语言,它的主要任务是根据数据模型生成输出。在Spring MVC中,Freemarker模板通常用于...
标签:freemarker、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
1. **Shiro Tags**:Shiro 提供了一系列的Freemarker标签,如`<@shiro.hasPermission>`,这些标签可以在模板中直接使用,用于判断用户是否具有特定的权限。 - `<@shiro.hasPermission name="permName">`: 如果用户...
标签:freemarker、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
一个用FTL定义的非常通用数据分页指令,有源码,有使用示例。使用效果图可以参看本人博客中的相关文章:http://blog.csdn.net/qjyong/archive/2009/10/18/4693142.aspx
本文将深入探讨FreeMarker的标签、指令、插值规则以及表达式。 首先,FreeMarker 模板文件由四个主要部分组成: 1. 文本:这部分内容会被直接输出。 2. 注释:以`<#-- ... -->`形式存在,不会被输出到最终文档中。...
在 Freemarker 中,使用 FTL 标签来实现指令的功能。与 HTML 标签相似,Freemarker 支持三种类型的 FTL 标签: - **开始标签**:`<#directive_name parameter>` - **结束标签**:`</#directive_name>` - **空标签**...
- 尽量使用Freemarker自带的标签以提高性能。 **10. 特殊指令** - `r` 原样输出。 - `?` 引出内置指令。 - `@` 用户自定义标签。 **11. 特殊操作符** - `!`: 默认值操作符。 - `??`: 缺失值测试操作符。 **...