我的用例是为用户提供在模板引擎的帮助下创建报表的可能性.因此,我提取了我的数据模型的相关部分,并将Freemarker集成为模板引擎.

到目前为止它工作得很好,但现在我的数据模型包含某些位置的继承 – 但Freemarker似乎不支持操作的实例?如何处理这个问题?是否有其他模板引擎支持模型中的继承?

虚构的例子:

我有两个班级“汽车”和“自行车”,扩展“车辆”.该模型包含一个“车队”类,其中包含车辆清单.用户想要(在模板的帮助下)遍历列表并在汽车的情况下写入属性“countSeats”,如果是自行车,则属性为“帧大小”.如何通过Freemarker实现这一目标?可以在任何模板引擎中完成吗?

提前谢谢了!

//编辑:不幸的是,由于列表中车辆的顺序(在上例中)是必不可少的,因此不可能将列表与具有“具体”对象的多个列表中的超类一起拆分.

解决方法:

没有内置任何东西,但它也不一定.您可以编写自己的TemplateMethodModelEx,或者将普通的Java帮助程序对象放入数据模型中以执行任何操作.或者,您可以将相关类放入数据模型中,例如root.put(“Car”,Car.class)等,然后使用类的Java API:< #if Car.isInstance( someObject)GT;

标签:java,templates,freemarker

来源: https://codeday.me/bug/20190725/1527850.html

JAva继承编写自行车例子,java – Freemarker中的继承/实例检查相关推荐

  1. java用继承编写宠物乐园_MoreThanJavaDay 5:面向对象进阶继承详解

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  2. 【java】编写一个圆柱体类Cylinder,它继承于Circle类

    编写一个圆柱体类Cylinder,它继承于上面的Circle类.还拥有: ①一个成员变量 double hight(私有,浮点型): // 圆柱体的高: ②构造方法 Cylinder (double ...

  3. 06从零开始学Java之编写第一个Java程序HelloWorld

    作者:孙玉昌,昵称[ 一一哥],另外[ 壹壹哥]也是我哦 CSDN博客专家.万粉博主.阿里云专家博主.掘金优质作者 配套开源项目资料 GitHub地址: https://github.com/SunL ...

  4. java list 重复数据_java 查找list中重复数据实例详解

    java 查找list中重复数据实例详解 需求: 查找一个List集合中所有重复的数据,重复的数据可能不止一堆,比如:aa, bb, aa, bb, cc , dd, aa这样的数据.如果有重复数据, ...

  5. java实现死锁简单例子,Java死锁的简单例子

    Java死锁的简单例子 两个线程互相占有对方需要的资源而不释放,便形成了死锁. 代码如下: Program.java /** * 程序类 * @author michael * */ public c ...

  6. java dom 解析xml 例子,Java DOM解析XML的幾個例子

    Sample1: 1:新建XML文檔 books.xml,放到項目的根目錄下. xmlns="http://test.org/books"> Thinking in JAVA ...

  7. apachejmeter_java源码_自定义编写jmeter的Java测试代码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","JavaV ...

  8. java核心教程_核心Java教程

    java核心教程 Welcome to Core Java Tutorial. I have written a lot on Core Java and Java EE frameworks. Th ...

  9. eclipse怎么导入java文件_eclipse怎么保存java文件?如何导入java文件?

    eclipse开发工具很好用,是java开发人员的好帮手,但是一些新手java人员不知道eclipse怎么保存java文件?那么接下来,我们就来给大家讲解一下eclipse保存java文件的方法. E ...

  10. java实验环境,实验一(Java开发环境安装与配置

    <实验一(Java开发环境安装与配置>由会员分享,可在线阅读,更多相关<实验一(Java开发环境安装与配置(6页珍藏版)>请在人人文库网上搜索. 1.实验报告实验报告序号:实验 ...

最新文章

  1. 文字超长自动加省略号的css写法
  2. faster_rcnn c++版本的 caffe 封装(1)
  3. const char * array[]和char * const array[]
  4. AI应用开发实战系列之三:手写识别应用入门
  5. 导致网站服务器负担过重,利用httpd.ini实现图片和文件的防盗链
  6. 【Word 教程系列第 2 篇】Word 中如何设置每页的表格都有表头
  7. QCC3040---earbud init module
  8. 记一次E3-1220V2+HD7450黑苹果安装10.13的过程
  9. 云-腾讯云:实时音视频
  10. 【数据结构】链表相关OJ题 (万字详解)
  11. subscript on non-array or too many dimensions
  12. 修改机顶盒设置移动焦点颜色
  13. 基于vue的图片剪裁工具vue-croppe
  14. 【Qzone】向来缘浅 奈何情深 第三步 编译Android内核源代码
  15. 如何找到msdn中文文档呢?
  16. 操作系统基础知识介绍之PFP调度协议(包含时间分区PFP)
  17. NOIP2018提高组省一冲奖班模测训练(二)
  18. 卧槽!发现一款刷题神器!
  19. 计算机三维机械设计基础答案,电子科技大学《计算机三维艺术设计》rhino答案.doc...
  20. Matlab中xlabel函数的使用

热门文章

  1. Matlab save colormap
  2. matlab显示tiff为全白_Matlab读写TIFF图像
  3. 归并排序+快排+快速选择+桶排序
  4. 厂级监控系统镜像服务器,厂级监控信息系统(SIS).PDF
  5. 【元宵节】中国人民大学与加拿大女王大学金融硕士项目与你的那份“缘”
  6. BF算法(暴⼒算法)-- 模式匹配算法
  7. 电子设计教程4:稳压管稳压电路
  8. VUE-amap遇到的坑和总结
  9. 迅为iTOP-4418开发板烧写 Android 7.1 镜像
  10. s5p4418显示驱动