假设我有一个名为testComp的组件,该组件具有字符串属性testProperty。对应于testComp.java的是一个js文件testComp.js

如何在testComp.js中访问testProp?

我尝试了以下操作,但出现错误。

console.log( ${testProp} );


我知道我可以在tml文件中执行$ {testProp},但是我需要在javascript文件中访问此属性。我已经搜索了邮件列表,但到目前为止还没有运气。知道如何做到吗?

最佳答案

尝试这个:

testComp.java

@Inject
private JavaScriptSupport javaScriptSupport;

@AfterRender
private void after() throws Exception {
    JSONObject arguments = new JSONObject();
    arguments.put("testProperty", this.testProperty);
    javaScriptSupport.addInitializerCall("testComp", arguments);
}


testComp.js

Tapestry.Initializer.testComp = function (json) {
    new testComp(json);
};


function testComp(json){
    alert(json.testProperty);
}

09-25 20:05