获取默认对象包装器的最佳实践?

best practice to get the default object wrapper?

创建自定义方法时,我实现了 TemplateMethodModelEx 和 returns SimpleSequence 对象。 根据 API,我应该使用这个构造函数:

SimpleSequence(ObjectWrapper wrapper)

因为我将 incompatibleImprovements 设置为 2.3.24,文档说我可以简单地使用 Configuration 实例的 getObjectWrapper()。我的问题是在实现 TemplateMethodModelEx 时,我无权访问当前配置,除非我将 cfg 传递给方法的构造函数。然后 root.put 看起来像:

root.put("getMeList", new GetMeListMethod(cfg));

这对我来说很奇怪,我想知道构造这种 SimpleSquence 模型的正确方法是什么以及获取默认对象包装器的正确方法是什么。

非常感谢

您应该传入 ObjectWrapper 作为构造函数参数。 (它与 incompatibleImprovements 2.3.24 无关。)任何创建其他 TemplateModel-s(如 TemplteSequenceModel-s、TemplateHashModel-s、TemplateMethodModel-s) 曾经那样工作。这通常不明显,因为它们是由 ObjectWrapper 创建的。但是,如果您手动执行 TemplateModel-s(这很好),那么您将面对这个事实。