前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FreeMarker快速入门

FreeMarker快速入门

作者头像
用户1216676
发布2018-01-24 16:34:51
1.1K0
发布2018-01-24 16:34:51
举报
文章被收录于专栏:熊二哥熊二哥

虽然当前比较推荐使用thymeleaf替代jsp作为java网页开发的模板语言,不过公司推荐使用freemarker,那就顺势而为,速度学一发,然后迅速开始新项目了。

简介

FreeMarker第一个版本出现在1999年,哇,都18年了,2015年该项目导入到Apache软件基金会,应该还是有一些的自己的特色的,其官方手册还是比较详细的,freemarker官方文档 常见指令有很多,具体请见directive,接下来做个最基本的展示。 判断

代码语言:javascript
复制
<#if student.name == 'xionger'>
    xionger is 2B!
<#elseif student.name == 'xiongda'>
    xiongda is genius!
<#else>
    others are handsome!
</#if>

列表

代码语言:javascript
复制
<p>We have these students:
<table border=1>
  <#list students as student>
    <tr><td>${student.name}</td><td>${student.score}</td>
  </#list>
</table>

包含

代码语言:javascript
复制
<#include "/copyright_footer.html">

常见内置方法

代码语言:javascript
复制
student.name?upper_case //xionger->XIONGER
student.name?length //7
students?size //2,xionger,xiongda
//在<#list students as student>中
student?index //以0开始的索引
student.graduated?string("Y", "N") 
students?join(", ") //xionger.xiongda

类似的build-ins还有很多,请见build-ins

扩展知识

自定义宏

代码语言:javascript
复制
<#macro hello name>
    <h1>Hello ${name}!</h1>
</#macro>
<@hello name='xionger'/> //使用时直接调用即可

其功能就是把常用的模板做成宏的形式,便于复用。 格式化输出

代码语言:javascript
复制
${'<span>test</span>'}  //输出:&lt;span&gt;test&lt;/span&gt;
${'<span>test</span>'?no_esc}  //输出: <span>test</span>

补充内容

  • Eclipse插件:Help->Install New Software,输入http://download.jboss.org/jbosstools/updates/development/indigo/,在JBoss Application Development 下找到 FreeMarker IDE,安装后重启Eclipse即可。

Tip: 对这部分的学习要求就是了解就好,不值得花很多的时间,项目中有问题再查阅。

参考文献

  1. Apache, FreeMarker. Apache FreeMarker Manual[EB/OL]. http://freemarker.org/docs/index.html.
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-05-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 扩展知识
  • 补充内容
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档