freemarker$1.1?int 啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freemarker$1.1?int 啥意思相关的知识,希望对你有一定的参考价值。

FreeMarker标签使用
一、FreeMarker模板文件主要有4个部分组成
1、文本,直接输出的部分
2、注释,即<#--...-->格式不会输出
3、插值(Interpolation):即$..或者#..格式的部分,将使用数据模型中的部分替代输出
4、FTL指令:FreeMarker指令,和html标记类似,名字前加#予以区分,不会输出。
FTL指令规则
FreeMarker有三种FTL标签,这和HTML的标签是完全类似的
开始标签:<#directivename
parameters>
结束标签:</#directivename>
空标签:
<#directivename
parameters
/>
实际上,使用标签时前面的#符号也可能变成@,如果该指令是一个用户指令而不是系统内建指令时,应将#符号改为@符号
插值规则
FreeMarker的插值有如下两种类型
1、通用插值:$expr
2、数字格式化插值:#expr或者#expr;format
通用插值,有可以分为四种情况
a、插值结果为字符串值:直接输出表达式结果
b、插值结果为数字值:根据默认格式(#setting
指令设置)将表达式结果转换成文本输出。可以使用内建的字符串函数格式单个插值,例如
<#setting
number_format
=
"currency"
/>
<#assign
price
=
42
/>
$price
$price?string
$price?string.number
$price?string.currency
$price?string.percent
c、输出值为日期值:根据默认格式(由
#setting
指令设置)将表达式结果转换成文本输出,可以使用内建的字符串函数格式化单个插值,例如
<#assign
lastUpdated
=
"2009-01-07
15:05"?datetime("yyyy-MM-dd
HH:mm")
/>
$lastUpdated?string("yyyy-MM-dd
HH:mm:ss
zzzz");
$lastUpdated?string("EEE,MMM
d,yy");
$lastUpdated?string("EEEE,MMMM
dd,yyyy,hh:mm:ss
a
'('zzz')'");
$lastUpdated?string.short;
$lastUpdated?string.long;
$lastUpdated?String.full;
d、插值结果为布尔值
<#assign
foo=true
/>
$foo?string("是foo","非foo")
数字格式化插值
数字格式化插值可采用#expr;format的形式来格式化数字,其中format可以是:
mX:小数部分最小X位
MX:小数部分最大X位
例如:
<#assign
x
=
2.582
/>
<#assign
y
=4
/>
#x;M2;
#y;M2;
#x;m1;
#y;m1;
#x;m1M2;
#y:m1M2;
参考技术A 是取1.1的整数部分,就如(1.1).int一样,内建函数以?代替了‘.’而已本回答被提问者采纳

freemarker 里 ?? 和 ? 都是啥意思?

各个情况都什么意思?

??是判断对象是否为空,例如:<#if object??>object对象不为空(即object存在)</#if>
?后面要加关键字,例如:<#if object?exists>object对象不为空</#if>
<#if str??>$str?string</#if><#--将str以字符串形式显示-->
$nowDate?time<#--将现有时间以时间的格式显示,显示结果如:15:13:05-->
$nowDate?date<#--以日期格式显示,如:2011-4-28-->(date的格式可以在freemarker.properties文件中配置)

……还有很多
参考技术A

FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

FreeMarker是免费的,基于Apache许可证2.0版本发布。其模板编写为FreeMarker Template Language(FTL),属于简单、专用的语言。需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,主要用于如何展现数据, 而在模板之外注意于要展示什么数据。

在所有采用网页静态化手段的网站中,FreeMarker使用的比例大大的超过了其他的一些技术。HTML静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以使用FreeMarker将HTML静态化。比如一些网站的公用设置信息,这些信息基本都是可以通过后台来管理并存储在数据库中,这些信息其实会大量的被前台程序调用,每一次调用都会去查询一次数据库,但是这些信息的更新频率又会很小,因此也可以考虑将这部分内容进行后台更新的时候进行静态化,这样就避免了大量的数据库访问请求,从而也就提高了网站的性能。

与JSP相比,FreeMarker的一个优点在于不能轻易突破模板语言开始编写Java代码,因此降低了领域逻辑漏进视图层的危险几率。但缺点是需要一点附加配置来将其平稳地集成到应用程序中,一些IDE(集成开发环境)可能并不完全支持它,当然还有开发者或设计者也许需要学习一门陌生的模板语言。相关的JAR文件将要添加到WEB-INF/lib(在需要的时候,它们包含在Spring中)。

参考技术B freemaker中在变量名后面放置?来询问Freemarker这个变量是否存在,你这句话的意思就是,如果变量xxxxx存在并且xxxxx.xxxxx存在的话. 参考技术C ??是判断对象是否为空,例如:<#if object??>object对象不为空(即object存在)</#if>
?后面要加关键字,调用内建函数,例如:<#if object?exists>object对象不为空</#if>
参考技术D 是说编程吗? 如果是 一般? 都是为了传参追问

是啊,

?传参 ,怎么讲?

追答

得有具体的东西 才能讲
也就是为了程序方便而传参

追问

Details...

追答

这是个链接 也就是 问号后面的id获取就是所谓的参数 ,然后跳转到这个页面,把参数传过去进行新的操作

追问

product.id?c

追答

product应该是个对象 id是它的属性 ?C 就是给参数赋得值
另外我问 是java还是c。。。。、?

以上是关于freemarker$1.1?int 啥意思的主要内容,如果未能解决你的问题,请参考以下文章

freemarker 里 ?? 和 ? 都是啥意思?

$User?.name中问号有啥意义

FreeMarker页面静态化入门

使用 USCavalry 转换器将 Velocity 模板转换为 FreeMarker

int[]是啥意思

Java 使用 freemarker 模板引擎的相关疑问 ,求大神走过路过不要错过