I'm desperately seeking an up-to-date example of custom javascript, because nothing I've tried works. Here's one attempt that failed...
package myapp.pages; import javax.inject.Inject; import org.apache.tapestry5.annotations.Import; import org.apache.tapestry5.json.JSONObject; import org.apache.tapestry5.services.javascript.JavaScriptSupport; @Import(stack = { "core" }, library = { "stuff.js" }) public class Index2 { @Inject private JavaScriptSupport jsSupport; void afterRender() { JSONObject params = new JSONObject(); jsSupport.require("pages/stuff").with(params); } } ...In my WAR is /META-INF/modules/pages/stuff.js... define(["jquery", "t5/core/console"], function($, console) { return function(params) { console.warn("jQuery version: " + $().jquery); }; }); ...The javascript console shows good news... Loading library /myapp/asset.gz/app/495033b1/pages/stuff.js ...followed by bad news... Failed to load resource: the server responded with a status of 404 (Not Found) http://gc1.local:8080/myapp/asset.gz/module/pages/stuff.js Cheers, Geoff