是否可以从Inner Bean调用JSF事件?

时间:2010-02-11 18:15:42

标签: java jsf javabeans

我想知道是否可以调用JSF事件,例如来自Inner bean的valueChangeListener和actionListener,即一个bean是某个其他Managed Bean中的objetc?

感谢。

1 个答案:

答案 0 :(得分:1)

是的,你可以。您只需要确保实际请求期间实例可用。

E.g。

<h:inputText valueChangeListener="#{bean.nested.change}" />

结合使用
public class Bean {
    private Nested nested; // +getter
}

public class Nested {
    public void change(ValueChangeEvent event) {
        // ...
    }
}
如果Nested未在Bean中实例化,则

无法正常工作。然后#{bean.nested}将返回null并且该方法无法访问。因此,确保它已被实例化:

public class Bean {
    private Nested nested = new Nested(); // +getter
}

EL即不会为你做那件事。