freemark的基本使用

一.搭建环境
1.添加依赖

<dependency>
            <groupId>freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.9</version>
        </dependency>

2.在web-inf下创建templates文件夹,存放ftl文件
3.创建一个servlet

public class ServletDemo1 extends javax.servlet.http.HttpServlet {
   private Configuration cfg = null;
   public void init(){
       cfg = new Configuration();
       cfg.setServletContextForTemplateLoading(this.getServletContext(),null);

   }
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException
    {
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");
        // 模板文件会根据key,读取value
        Map root = new HashMap();
       List<User> list = new ArrayList<User>();
       User user1 = new User("hu",11,new Date());
       User user2 = new User("huxiao",13,new Date());
       list.add(user1);
       list.add(user2);
       root.put("list",list);


        Template t = cfg.getTemplate("WEB-INF/templates/test.ftl");
        PrintWriter out = resp.getWriter();
        try
        {
            t.process(root, out);
        } catch (TemplateException e)
        {
            e.printStackTrace();
        }
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException
    {
        this.doPost(req, resp);
    }
}

二.基本语法
1.遍历list集合

<#list 需要遍历的集合 as 集合中单个(being)><br> 
   <li>${being.name} for ${being.price} Euros<br> 
<#list><br> 

2.日期的格式化

${being,date?string("yyyy-MM-dd HH:mm:ss zzzz")} 
${being,date?string("EEE, MMM d, ''yy")} 
${being,date?string("EEEE, MMMM dd, yyyy, hh:mm:ss a '('zzz')'")} 

3.转义字符
\” 双引号
\’ 单引号
\反斜杠
\n 换行
\r 回车
\t Tab
4.如果文本中包含了大量的特殊符号
r"$being" {being}
${r”C:\being\bar”} 输出结果:C:\being\bar
5.集合

自己也可以在模板中插入一定量的数据
利用中括号

<#list ["haha","dada"] as x>
    ${x}
</#list>

6.Map对象
自己添加元素,Map对象使用花括号包括,Map中的key-value对之间以英文冒号”:”分隔,多组key-value对之间以英文逗号”,”分隔

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值