Versions Compared

Key

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

...

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

Code Block
htmlhtml
titleHTML
html
<script type="text/javascript" wicket:id="myScript">/* script will be rendered here */</script>
java
Code Block
java
titleJava
java
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

java
Code Block
java
titleJava
java
		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
javascriptjavascript
titleJavaScript - Fragment of resources/main.js
javascript
var wcall = Wicket.Ajax.get({ u: '${callbackUrl}' + '${args}' });

Example - Older Versions

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

...