将Wicket值插入Java中的JavaScript函数

时间:2012-09-11 16:33:59

标签: java javascript html wicket

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

在我的HTML页面中,我有一个小警报脚本,我需要wicket将值添加到警报的消息中。我的代码是:

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

但这不起作用。

1 个答案:

答案 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()"/>