Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Alternatively, you can add a Wicket label containing JavaScript to your page:

Code Block
html
html
titleHTMLhtml
<script type="text/javascript" wicket:id="myScript">/* script will be rendered here */</script>
Code Block
java
java
titleJavajava
Label myScript = new Label("myScript", "callWicket();");
myScript.setEscapeModelStrings(false); // do not HTML escape JavaScript code
add(myScript);

...

This snippet is taken from a piece of code that makes use of PackageTextTemplate, which is added in the renderHead( component, response ) of AbstractDefaultAjaxBehavior

Code Block
java
java
titleJavajava
		String componentMarkupId = component.getMarkupId();
		String callbackUrl = getCallbackUrl().toString();

		Map<String, Object> map = new HashMap<>();
		map.put( "callbackUrl", callbackUrl );
		map.put( "args", "Your Arguments Here" );
		map.put( "componentMarkupId", componentMarkupId );

		PackageTextTemplate ptt = new PackageTextTemplate( clazz, "resources/main.js" );
		OnDomReadyHeaderItem onDomReadyHeaderItem = OnDomReadyHeaderItem.forScript( ptt.asString( map ) );
Code Block
javascript
javascript
titleJavaScript - Fragment of resources/main.jsjavascript
var wcall = Wicket.Ajax.get({ u: '${callbackUrl}' + '${args}' });

Example - Older Versions

Code Block
javascript
javascript
titleJavaScriptjavascript
function callWicket() {
   var wcall = wicketAjaxGet('$url$' + '$args$', function() { }, function() { });
}

...