我正在使用HTML和Wicket编写一个Web应用程序。
在我的HTML页面中,我有一个小警报脚本,我需要wicket将值添加到警报的消息中。我的代码是:
<script>
function version(){
alert(<sub wicket:id="version">);
}
</script>
<img class="logo" src="images/logo.png" alt="" width="68" height="21" onclick="version()"/>
add(new Label("version","1.0.0");
但这不起作用。
答案 0 :(得分:5)
Wicket不会处理<script>
内的任何内容。但您可以通过页面类中的标题贡献(或任何其他Component
)添加JavaScript函数。
Wicket 1.5:
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.renderJavaScript("function version(){alert('" + "1.0.0" + "');}", "version");
}
Wicket 6.0:
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(JavaScriptHeaderItem.forScript("function version(){alert('" + "1.0.0" + "');}", "version"));
}
另一种方法是渲染Label
输出函数:
add(new Label("script", "function version(){alert('1.0.0');}").setEscapeModelStrings(false));
在你的标记中
<script wicket:id="script" />
<img class="logo" src="images/logo.png" alt="" width="68" height="21" onclick="version()"/>