在Vaadin BrowserOepener窗口UI中没有注入EJB

时间:2014-03-26 14:01:58

标签: java java-ee vaadin cdi vaadin7

我正在使用带有CDI的Vaadin 7。一切都运行良好,直到我想在我的项目中使用其他UI类来生成动态文档。

@CDIUI(value = "PrintUI")
public static class PrintUI extends UI 
    {    
        @EJB
        MyBean myBean;

        @Override
        protected void init(VaadinRequest request) 
            {
                setContent(new Label(myBean.getHTMLContent(), ContentMode.HTML));
            }
    }

//method somewhere in the main UI class custom component

void printOpenedPage () 
    {
        // Create an opener extension
        BrowserWindowOpener opener = new BrowserWindowOpener(PrintUI.class);
        opener.setFeatures("height=200,width=400,resizable");

        // A button to open the printer-friendly page.
        Button print = new Button("Click to Print");
        opener.extend(print);
    }

我的问题是,当我打开窗口时,我总是得到NPE,因为MyBean对象已被注入。我试图使用@Inject和@EJB。还试图注入该类的本地接口,但没有运气。是否可以访问通过BrowserWindowOpener类打开的UI类中的Stateless ejb对象?

提前致谢

0 个答案:

没有答案