如何从Preparer中检索Tiles定义名称?

时间:2013-11-12 03:27:42

标签: java tiles web-frameworks apache-tiles

我正在试图找出如何在Preparer中检索定义的名称,但我似乎无法找到一种明显,直接的方法。我拼凑的是一个相当大的黑客,这只能暗示我没有正确地做到这一点。

是否有一种方法可以从编制者中获取正在准备的定义的名称?我注意到传递给preparer的唯一参数是org.apache.tiles.request.Request tilesContext和org.springframework.context.ApplicationContext attributeContext。我认为必须有一些东西从tilesContext中检索它,但不完全确定如何。

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:0)

Definition实现AttributeContext接口。所以我假设您可以检查attributeContext参数是否实际上是Definition的实例。如果是这样,您可以使用getName()方法:

String definitionName = null;
if (attributeContext instanceof Definition) {
    definitionName = ((Definition) attributeContext).getName();
}

如果此代码后definitionName仍然为空,则表示您没有处理Definition,因此无论如何都无法做到。