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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 里 ?? 和 ? 都是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

css position里static 的top bottom left right都是啥意思

手表日期里的英文缩写WER,MIER,JUEV,VIER,SAB,DOM,LUN都是啥意思?

MATLAB代码 求分析 何的去雾算法里面的暗通道算法 每一句都是啥意思啊?又分别对应论文里的啥原理?

腾讯打车平台里有五颗小星星是啥意思

dp和rp都是啥

WAP客户端、PC客户端、手机客户端都是啥意思?