@Named 注释,限定名称(例如 path.beanName)以句点分隔

@Named annotation with qualified names (e.g. path.beanName) separated by periods

我可以用 @Named("path.beanName") 注释 class 并在 EL 中作为 ${path.beanName} 访问它吗?

它似乎在 JBoss EAP 6.4 中工作正常,但我想确认它是规范的一部分(我在 CDI 1.0 或 JSP 规范中找不到任何关于它的信息,也许它在其他地方),或者如果它至少在其他应用程序服务器中按预期工作。

CDI 规范 1.0 似乎没有提到这一点,所以如果你真的在这么古老的版本中,你不能指望它是可移植的。但是,从 CDI 1.1 开始,您已经可以了。

以下链接指向 CDI 1.2(因为它比 1.1 更易读,并且 bean 名称未更改)- CDI 规范,2.6 Bean Names:

A bean may have a bean name. A bean with a name may be referred to by its name in Unified EL expressions. A valid bean name is a period-separated list of valid EL identifiers.

然后 5.3 EL Name Resolution 中还有更多内容,规范中也有一些零散的参考资料,可以使用 CTRL + C.

找到