我正在使用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
对其进行了注释,然后在页面渲染后我的弹出窗口显示正确。
答案 0 :(得分:0)
尝试@Environmental而不是@Inject。他们都应该工作,但这是尝试。技术上@Environmental更正确。