如何从挂毯代码中调用javascript?

时间:2016-12-15 14:45:25

标签: javascript java tapestry

我正在使用tapestry 5.2.6,我尝试从我的java代码中调用àjavascript(基于一些处理),这是我的java代码:

@Mixin
private Dialog alert;    

@Inject
private JavaScriptSupport javaScriptSupport;

 void callJavaScript() {
        alert.initializeClient(WindowStyle.GREYLIGHTING);
        javaScriptSupport.addScript("G2.alert('%s', {width:500, height:80, className:'bluelighting'});",
                "Congratulations Tarik");
    }

但我有这个错误:

Caused by: org.apache.tapestry5.ioc.internal.OperationException: No object of type org.apache.tapestry5.services.javascript.JavaScriptSupport is available from the Environment.

有人可以帮我解决这个错误,或者告诉我如何从我的java代码中打开弹出窗口吗?

NB:为了测试callJavaScript()功能,我用@AfterRender对其进行了注释,然后在页面渲染后我的弹出窗口显示正确。

1 个答案:

答案 0 :(得分:0)

尝试@Environmental而不是@Inject。他们都应该工作,但这是尝试。技术上@Environmental更正确。