当前位置: 首页 > 知识库问答 >
问题:

从FreeMarker中的模板字符串获取所有依赖项名称(甚至多级继承)的列表

瞿博学
2023-03-14

我试图在个人maven项目中使用FreeMarker模板引擎。

我想问一下FreeMarker是否有一个公共方法,如果将模板主体作为字符串,该方法可以返回所有依赖项模板名称的列表(使用#import和#include指令)。

如果是这样的话,你能告诉我与此相关的代码库的正确部分吗?即使没有这样的公共方法,您能告诉我实现这一点的私有方法吗?

我不确定是否有办法在FreeMarker中以任何方式更改指令的名称(比如bash中的别名,或者C中的“using”声明,或者FreeMarker中的任何用户定义指令)。如果有,编写这样一个简单的解析器可能会有bug,因为如果它没有找到

那么,有没有这样的事情需要我特别注意?或者我可以使用字符串编写自己的简单解析器。indexOf()和字符串。substring()方法?

谢谢

共有1个答案

谢阳曜
2023-03-14

FreeMarker在运行时几乎完成了所有工作(基本解析除外),包括解析include和imports。因此,您可以使用类似于<代码>

关于别名。宏、函数和metods都只是模板语言的值。所以你可以做

 类似资料:
  • 问题内容: 我按行业来做html / css,并且我一直作为模板设计者从事django项目的工作。我目前正在使用Jinja2的网站上工作,该网站已经使用了大约2周。通过阅读文档,我发现Jinja2不支持多级模板继承,因为您不能做多个 每个渲染。现在,我非常确定您可以在Django中执行此操作,该功能非常强大,因为您可以指定基本模板,基于该模板指定3或4个模板,然后使用这些基本模板构建页面的内容。继

  • 我试图为我的编程类写一个优先级队列,但继续得到以下错误:PriorityQueue.cpp: 7:1:错误:“PriorityQueue::PriorityQueue”命名构造函数,而不是类型PriorityQueue.cpp: 7:1:错误:和PriorityQueue没有模板构造函数 我已经做了几个小时了,不知道出了什么问题。以下是它所指的代码:

  • 问题内容: 设我有5个Spring Boot项目。它们都对带有某些共享/公共类的Spring Boot项目No.6具有Maven依赖性。5个独立项目在每个application.properties中分配了很多通用属性,我想对其进行抽象并将其移至通用项目。总体看起来像这样: 当前的问题是app-common.properties在project1.jar / lib / common-projec

  • 问题内容: 是否有一种快速的方法可以从中的所有表获取所有列名,而不必列出所有表? 问题答案:

  • 我有一些代码无法编译,我将其简化为以下最低版本: 在魔杖盒上看到 Clang(9.0.0)拒绝了这一点: Clang说是一个依赖的模板名称是对的吗?VS 2017没有问题。GCC(9.2.0)也拒绝该代码,但错误消息更加模糊: 按照叮当的建议改变冒犯的路线 修复Clang和GCC的编译。VS2017也接受此版本。 解决方案似乎很简单,但如果我重新排序函数调用: 或从 中删除参数: 错误消失了。 这

  • 我正在做大学项目<我需要从类中获取所有字段。甚至是私人的和继承的。我尝试获取所有声明的字段,然后转换到超类并重复。我的代码片段: 但是它不起作用。强制转换后仍然是同一个类(不是超类)。 我将感谢任何帮助如何修复强制转换问题,或者如何以不同的方式检索这些字段。 问题不是获取对字段的访问权限,而是获取字段的名称! 我这样管理它: