2

HTML と Wicket を使用して Web アプリを作成しています。

私の 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 に答える