freemarker(FTL)常见语法(JSP中的代码转化为ftl代码) 备忘录

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:35   1398   0

用ftl的原因,项目里需要把原来的JSP中的代码转成FTL代码。

(技巧:在eclipse中是可以安装一个freemarker的IDE插件来高亮显示ftl代码的.)

0:引入公共页面<#include "params.ftl">


1:判断是否为空:

<#if (resultContext.pagination.resultList)?? && resultContext.pagination.resultList?size gt 0> //??对象.对象的形式可以用??这样会对每一个对象进行判断

********

</#if>

2:集合遍历:

<#list resultContext.listTepicCommend as tepic>
<dl>
<dt>
<a href="${ctxtPath}/product-${tepic.productId?c}.html">

//?c:如果数字大于3位数字 那么默认是格式话。?c则不让其格式化。 如: 4114 如果不加?c则会变成4,1114 ;加了?c后则还是4114

<dd>${tepic.factory.factoryName}</dd>
</dt>
</dl>
</#list>

获得遍历时的索引值

<#list list as a>

${a_index+1}

</#list>


3:访问Java类中的静态方法

<#if st == stack.findValue("@com.test.bo.SkuTag@NEW")><#elseif st == stack.findValue("@com.test.bo.SkuTag@SPECIAL") >

4:访问Request对象

${Request.effectType.infoName!'' } 其他域对象比如:Session对象 貌似还是是${Session.*****}

5:使用其他标签如struts2标签:

引入tld:<#assign ts=JspTaglibs["/skw-tags"] /> 使用: <@ts.productPrice loginUrl="${ctxtPath}/login_jsp.html"/>

 
以上记录满足啦自己的项目需要。 基本的JSP中的代码转换到ftl中都可以完成啦。感觉上的总结:模版的解析速度比JSP的解析速度是要快些的。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP