博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot获取Freemarker模板引擎,生成HTML代码
阅读量:6074 次
发布时间:2019-06-20

本文共 2344 字,大约阅读时间需要 7 分钟。

今天用Ajax异步添加评论,加载Freemarker模板引擎,生成模板模块

1.新建Freemarker模板

  • <#if "http://" == comment.commentURL> ${comment.commentName} <#else>
    ${comment.commentName}
    <#if comment.isReply> @
    ${comment.commentOriginalCommentName}
    <#if article.articleCommentable==1>
    ${replyLabel}
    ${comment.commentContent}
  • 2.新建FreemarkerUtils工具类

    package com.fdzang.mblog.utils;import freemarker.template.Configuration;import freemarker.template.Template;import freemarker.template.TemplateException;import freemarker.template.TemplateExceptionHandler;import java.io.File;import java.io.IOException;import java.io.StringWriter;import java.util.Map;public class FreemarkerUtils {    public static String getTemplate(String template, Map
    map) throws IOException, TemplateException { Configuration cfg = new Configuration(Configuration.VERSION_2_3_28); String templatePath = FreemarkerUtils.class.getResource("/").getPath()+"/templates"; cfg.setDirectoryForTemplateLoading(new File(templatePath)); cfg.setDefaultEncoding("UTF-8"); cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); cfg.setLogTemplateExceptions(false); cfg.setWrapUncheckedExceptions(true); Template temp = cfg.getTemplate(template); StringWriter stringWriter = new StringWriter(); temp.process(map, stringWriter); return stringWriter.toString(); }}

    template为模板的名称,Map为需要插入的参数

     

    关于加载模板位置的方法,借鉴于

    https://blog.csdn.net/gtlishujie/article/details/52300381

    我就不多加累述了,关键在于获取文件路径,文件路径不对的话,可以试着输出然后调试,个人推荐文件加载这个方法

     

    3.Controller层的方法

    Map
    map=new HashMap<>();map.put("article",article);map.put("comment",comment);map.put("replyLabel","回复");String cmtTpl= FreemarkerUtils.getTemplate("common-comment.ftl",map);result.setCmtTpl(cmtTpl);

    定义好Map参数,指定加载的模板引擎,就可以得到解析后的HTML了

    转载于:https://www.cnblogs.com/fdzang/p/9571419.html

    你可能感兴趣的文章
    DELL R720 RAID LINUX驱动问题 XEN安装
    查看>>
    scons用户指南翻译(附gcc/g++参数详解)
    查看>>
    php实现301跳转
    查看>>
    我的友情链接
    查看>>
    Content Provider(以下简称为CP)的加载
    查看>>
    低版本Samba无法挂载
    查看>>
    type和object的那几腿
    查看>>
    Python3 异步IO--asyncio
    查看>>
    route-map
    查看>>
    我的友情链接
    查看>>
    0x80070570,文件或目录损坏且无法读取
    查看>>
    NSFileManager文件管理
    查看>>
    IEEE 802.1d生成树协议小解
    查看>>
    UVA 10603 Fill 最短路
    查看>>
    Swagger笔记
    查看>>
    flask uwsgi nginx 部署文档
    查看>>
    windows 7或以上系统的实用小工具,你知道么?
    查看>>
    缺失表达式---没有足够的值
    查看>>
    SQL中的distinct的用法
    查看>>
    HAproxy+Nginx
    查看>>