任何人都可以解释为什么事件类型是接缝中的任意字符串?

时间:2010-11-08 01:01:03

标签: events seam

我注意到事件类型只是seam中的一个任意字符串,将在component.xml或注释中使用。有时候如果我错误地使用它们就容易出错,例如“org.jboss.seam.security.notLogedIn”,实际上它应该是“org.jboss.seam.security.notLoggedIn”。有没有其他方法来处理事件类型?

1 个答案:

答案 0 :(得分:5)

由于大多数事件键(类型)都声明为public static final(如您所引用的那样),因此您可以引用它们而不会出现拼写错误。

@Observer(Identity.EVENT_NOT_LOGGED_IN)
public void handleNotLoggedIn() {
}

不幸的是,您无法component.xml中的事件类型声明中使用EL。我最近试过了。

<event type="#{...}">
    <!-- does not work -->
</event>

恕我直言,除了将事件密钥复制并粘贴到component.xml以防止拼写错误之外,别无他法。