【发布时间】:2021-02-11 08:46:57
【问题描述】:
我在这个面板中有一个面板“MainPanel”和组件“MyComponent”。我想将我的组件的 markupId 作为 javascript 函数中的参数传递,该函数将在 renderHead() 中调用。怎么办?
public MainPanel(String id) {
super(id);
MyComponent div = new MyComponent("div");
div.setmarkupId("customeUniqueId");
div.add(new AjaxEventBehavior("click") {
@Override
protected void onEvent(AjaxRequestTarget target) {
String markupId = div.getMarkupId();
target.appendJavaScript("window.location.reload();");
target.appendJavaScript(jsReload(markupId));
}
}
}
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
// how to use here div.markupId value as a parameter???
response.render(OnDomReadyHeaderItem.forScript(String.format("my_js_callback('%s')", div.getMarkupId())));
}
}
【问题讨论】: