2011-10-03 49 views
1

我正在研究使用FreeMarker的大型项目。我是FreeMarker的新手。我怎样才能找到哪些类的java被用来接收模板的值?调查所有的项目似乎是巨大的工作。 谢谢。 可能需要一些Eclipse插件?FreeMarker如何找到相应的java类

回答

2

FreeMarker是一个典型的“动态语言”,这意味着重构/改变很难。模板没有声明他们期望在数据模型中。此外,当模板尝试从数据模型中读取值时(例如${foo.bar}),这可能意味着foo.get("bar")foo.getBar()ObjectWrapper所使用的任何值,并且只有在模板执行时才会决定。当然,如果你改变了一些东西,你将需要回归到古老的搜索替换和大量测试(一个好的测试套件是必不可少的......)。当然,您可以查看程序中建立数据模型的位置,并查看放入的内容。或者在运行时以某种方式转储数据模型。

+1

尽管像Intellij Idea这样的编辑确实支持在注释中注释变量类型,并使重构变得简单易行。 –

+1

好点。在较大型的项目中,最好将有关预期变量的注释放入模板中,但如果IDE明白这一点,那会更好。当然,这些评论的主要问题是,没有什么能保证它们与现实保持同步...... – ddekany