2

我正在使用 HTML 和 Wicket 编写一个网络应用程序。

在我的 HTML 页面中,我有一个小的警报脚本,我需要检票口将一个值插入到警报的消息中。我的代码是:

HTML 代码:

<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");

但这不起作用。

4

1 回答 1

6

Wicket 不会处理<script>. 但是您可以通过页面类(或任何其他Component)中的标头贡献添加 JavaScript 函数。

检票口 1.5:

@Override
public void renderHead(IHeaderResponse response) {
    super.renderHead(response);
    response.renderJavaScript("function version(){alert('" + "1.0.0" + "');}", "version");
}

检票口 6.0:

@Override
public void renderHead(IHeaderResponse response) {
    super.renderHead(response);
    response.render(JavaScriptHeaderItem.forScript("function version(){alert('" + "1.0.0" + "');}", "version"));
}

另一种方法是渲染Label输出函数的 a:

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()"/>
于 2012-09-11T16:43:08.153 回答