0

我试图弄清楚如何在 Preparer 中检索定义的名称,但我似乎找不到一种明显、直接的方法。我拼凑起来的是一个相当大的黑客,这只能意味着我没有正确地做到这一点。

有没有办法从准备者中获取正在准备的定义的名称?我注意到传递给准备者的唯一参数是 org.apache.tiles.request.Request tilesContext 和 org.springframework.context.ApplicationContext attributeContext。我认为一定有办法从tilesContext中检索它,但不完全确定如何。

是否有捷径可寻?

4

1 回答 1

0

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

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

如果definitionName在此代码之后仍然为 null,则您没有处理 a Definition,因此无论如何都无事可做。

于 2013-11-21T15:40:28.360 回答