我注意到事件类型只是seam中的一个任意字符串,将在component.xml或注释中使用。有时候如果我错误地使用它们就容易出错,例如“org.jboss.seam.security.notLogedIn”,实际上它应该是“org.jboss.seam.security.notLoggedIn”。有没有其他方法来处理事件类型?
答案 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
以防止拼写错误之外,别无他法。