我正在试图找出如何在Preparer中检索定义的名称,但我似乎无法找到一种明显,直接的方法。我拼凑的是一个相当大的黑客,这只能暗示我没有正确地做到这一点。
是否有一种方法可以从编制者中获取正在准备的定义的名称?我注意到传递给preparer的唯一参数是org.apache.tiles.request.Request tilesContext和org.springframework.context.ApplicationContext attributeContext。我认为必须有一些东西从tilesContext中检索它,但不完全确定如何。
有一种简单的方法吗?
答案 0 :(得分:0)
Definition
实现AttributeContext
接口。所以我假设您可以检查attributeContext
参数是否实际上是Definition
的实例。如果是这样,您可以使用getName()
方法:
String definitionName = null;
if (attributeContext instanceof Definition) {
definitionName = ((Definition) attributeContext).getName();
}
如果此代码后definitionName
仍然为空,则表示您没有处理Definition
,因此无论如何都无法做到。