簡體   English   中英

將參數從Java傳遞給Tapestry中的js

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM