Wicket 1.6-如何动态修改主体“;“满负荷”;属性
如何在Wicket中动态修改Wicket 1.6页面的body onload标记 我想向“onload”属性添加一个JavaScript函数,该属性需要我在Java中生成的动态参数Wicket 1.6-如何动态修改主体“;“满负荷”;属性,wicket,Wicket,如何在Wicket中动态修改Wicket 1.6页面的body onload标记 我想向“onload”属性添加一个JavaScript函数,该属性需要我在Java中生成的动态参数 提前感谢最好使用以下方法 在需要执行某些加载操作的任何组件中,添加以下方法: @Override public void renderHead(IHeaderResponse response) { super.renderHead(response); response.render(
提前感谢最好使用以下方法 在需要执行某些加载操作的任何组件中,添加以下方法:
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(
OnDomReadyHeaderItem.forScript("alert('REPLACE ALERT BY YOUR SCRIPT')"));
}
如果需要使用额外参数等动态准备脚本,我建议如下:
private final static TextTemplate template
= new PackageTextTemplate(YourComponentOrPage.class, "your-js-template.js");
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
Map<String, Object> params =new HashMap<String, Object>();
params.put("parameter1", parameter1Value);
params.put("parameter2", parameter2Value);
response.render(OnDomReadyHeaderItem.forScript(template.asString(params)));
}
目前,Wicket 6.x有一个用于onLoad事件的特定类。不再需要任何黑客解决方案:
@Override
public void renderHead(IHeaderResponse response)
{
super.renderHead(response);
response.render(OnLoadHeaderItem.forScript(yourDynamicScript));
}
谢谢!成功了。我使用了一个add(新的WebComponent)并覆盖了renderHead。
@Override
public void renderHead(IHeaderResponse response)
{
super.renderHead(response);
response.render(OnLoadHeaderItem.forScript(yourDynamicScript));
}