因为在前端要根据字典表中的数据去将1、2这些值转换成对应的文字解释
1.首先要创建一个类去实现 TemplateDirectiveModel 类
@Component
public class DictDirective implements TemplateDirectiveModel {@Overridepublic void execute(Environment environment, Map map, TemplateModel[] templateModels, TemplateDirectiveBody templateDirectiveBody) throws TemplateException, IOException {DefaultObjectWrapperBuilder builder = new DefaultObjectWrapperBuilder(Configuration.VERSION_2_3_25);if(map.containsKey("type") && map.get("type") != null){String type = map.get("type").toString();List<Dict> dictList = DictUtils.getDictList(type);if(map.containsKey("value") && map.get("value") != null){String value = map.get("value").toString();Dict dict = null;for (Dict dict1 : dictList) {if(value.equals(dict1.getValue().toString())){dict = dict1;}}environment.setVariable("dict", builder.build().wrap(dict));}else{environment.setVariable("dictList", builder.build().wrap(dictList));}}if(templateDirectiveBody!=null){templateDirectiveBody.render(environment.getOut());}}
} 

2.创建一个配置类
@Component
public class FreemarkerConfig {@Autowiredprivate Configuration configuration;@Autowiredprivate DictDirective dictDirective;@PostConstructpublic void setSharedVariable() throws TemplateModelException {configuration.setSharedVariable("dict_tag", dictDirective);}
}

然后就可以在页面上去调用了
<@dict_tag type="news_source" value="${news.source}">${dict.label}</@dict_tag>

前端可以任意传递参数,像type、value这样的,所有传递的参数都会被存到map里面,后台直接去取就可以了

转载于:https://www.cnblogs.com/liangshandada/p/8761463.html

SpringBoot整合freemarker中自定义标签获取字典表的数据相关推荐

  1. spring mvc项目中利用freemarker生成自定义标签

    2019独角兽企业重金招聘Python工程师标准>>> spring mvc项目中利用freemarker生成自定义标签 博客分类: java spring mvc +freemar ...

  2. springboot整合freemarker案例

    springboot整合freemarker案例 1.pom.xml 2.application.properties 3.实体类 4.controller 5.取普通变量的值 6.遍历集合 7.遍历 ...

  3. SpringBoot整合AlertManager,实现自定义的告警收敛以及邮件处理,告警风暴,解决重复告警问题

    SpringBoot整合AlertManager,实现自定义的告警收敛以及邮件处理,告警风暴,解决重复告警问题 需求 将传感器通过Http发送到微服务(SpringBoot项目)的警报消息,通知给对应 ...

  4. springboot整合freemarker FTL stack trace (“~“ means nesting-related): - Failed at: #

    springboot整合freemarker FTL stack trace ("~" means nesting-related): - Failed at: 问题: 后台mod ...

  5. django中自定义标签和过滤器

    django中自定义标签和过滤器 原文:http://www.cnblogs.com/MnCu8261/p/5934203.html 纪念如何填了半天的坑,红色重点 想要实现自定义标签和过滤器需要进行 ...

  6. jsp中用java写标签id_jsp中自定义标签用法实例分析

    本文实例讲述了jsp中自定义标签用法.分享给大家供大家参考.具体如下: 这里简单的写了一个自定义标签,自己定义标签的好处就是在jsp页面中可以使用自己定义的功能,完全与Java代码分离 1. tld文 ...

  7. 解决springboot整合dubbo中No provider available from registry 127.0.0.1:2181 for service x.x.x on consumer

    解决springboot整合dubbo中No provider available from registry 127.0.0.1:2181 for service x.x.x on consumer ...

  8. html5 自定义标签图例,奥维互动地图浏览器电脑版中自定义标签图标的增加方法...

    这篇文章讲的是奥维互动地图浏览器电脑版中自定义标签图标的增加方法,感兴趣的小伙伴可以来学习一下哦. 奥维互动地图浏览器电脑版中自定义标签图标的增加方法 1.点击菜单:系统---数据管理---自定义图标 ...

  9. Vue中自定义标签及其使用

    Vue中自定义标签及其使用 问题 需求 自定义 创建组件的vue文件 编辑组件 使用 导入 申明使用 使用 整个代码 效果 问题 我们在使用Vue开发移动端应用程序时,常常使用Vant Weapp中的 ...

最新文章

  1. 21岁华人本科生,凭什么拿下CVPR 2020最佳论文提名?
  2. FileSystemWatcher使用方法具体解释
  3. 如何让引擎蜘蛛天天光临你的网站
  4. 深度:Leap Motion手势识别大揭秘
  5. 洛谷1373 小a和uim之大逃离
  6. 把我坑惨的一个MySQL双引号!
  7. f-measure[转]
  8. php设计模式之桥接模式
  9. Chrome 浏览器创建网站快捷方式(加入收藏夹)代码
  10. 在C#中用RX库和await来实现直观的状态机
  11. java并发编程-volatile内存实现和原理
  12. 小学多媒体计算机室管理计划,多媒体教室管理工作计划5篇
  13. drools规则引擎源码解析
  14. GridView的dataformatstring设置
  15. pygame学习笔记(6)——一个超级简单的游戏
  16. c语言面试题-基本概念
  17. 基于asp.net C#中小型超市库存管理系统
  18. python click模块参数处理详解
  19. opencv获取设备ID和名称
  20. Linux 部署 Oracle xe-21c

热门文章

  1. 人生路上必须明白的七个哲理[转]
  2. 运算、函数、数组的了解
  3. python之禅怎么看_Python之禅
  4. linux下时区的一些认识
  5. One or more Filters failed to start.
  6. 【kafka】The group member needs to have a valid member id before actually entering a consumer group
  7. 95-864-040-源码-HDFS-Flink 和 HDFS 的交互
  8. 95-50-020-java.nio.channels-NIO-NIO概览
  9. 【elasticsearch】总结—elasticsearch启动失败的几种情况及解决
  10. 【Spring】Spring事务失效的 8 大原因