![](/img/trans.png)
[英]Tapestry - How to pass parameters from tml page to event handler in tapestry?
[英]Pass parameter from java to js in Tapestry
我使用Apache Tapestry作為Web應用程序框架。
我的Java代碼中有變量。 頁面加載后,我需要在javascript中此變量的值。
例如java類:
@Import(library = "RoomManagement.js")
public final class RoomManagement{
@Property
private long contactId;
}
和RoomManagement.js中的js:
window.onload = function(){
alert(contactId);
}
如何將其直接傳遞給javascript?
我無法像模板一樣將值傳遞給js,因為它是.js文件而不是.tml。
我可以在頁面上添加不可見標簽,將值寫入此標簽並從js讀取。 但是你知道另一種方式嗎?
您將需要使用JavaScriptSupport
服務。
您的Java文件:
@Import(library = "RoomManagement.js")
public final class RoomManagement{
@Inject
private JavaScriptSupport javascriptSupport;
@Property
private long contactId;
@AfterRender
private void setup() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("contactId", contactId);
javascriptSupport.addInitializerCall("RoomManagement",jsonObject);
}
}
您的RoomManagement.js
Tapestry.Initializer.RoomManagement = function (parameters) {
//do whatever you need here
alert('Your contactId: ' + parameters.contactId);
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.