获取默认对象包装器的最佳实践?
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(这很好),那么您将面对这个事实。
创建自定义方法时,我实现了 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(这很好),那么您将面对这个事实。