如何动态获取bean名称

时间:2015-08-06 11:38:42

标签: jsf jsf-2

我们都知道我们可以在Java类Get JSF managed bean by name in any Servlet related class

中获取任何Bean名称

现在我的问题是我有3个Bean和3个不同的JSF / XHTMl页面,所有3个JSF / XHTML页面打开一个弹出窗口,其中包含相同的组件,现在我们使用了3个不同的弹出窗口及其工作

但是我想只使用一个弹出窗口应该使用,所以这里的问题是我必须从Popup调用一些方法到相应的Parent Bean。

因此,我想将bean名称作为参数传递给action属性。现在我知道哪个bean类是Popup Window的父类。

<h:commandButton value="button" action="#{popupbean.someMethod(Parentbeanname)}"

在我的Popupbean.java中,如果我将bean名称作为字符串,我已经编写了这段代码

public void addFeature(String beanName){
        Bean bean = (Bean) request.getSession().getAttribute("beanName");
    }

或者我会得到课程名称

public void addFeature(object className) {
    if (classname instanceof Abean) {
        ABean abean = (Abean) classname;
        abean.callSomeMethod();
    } else if (classname instanceof Bbean) {
        BBean abean = (Bbean) classname;
        bbean.callSomeMethod();
    }

0 个答案:

没有答案