It would be better to use js object and pass parameter to constructor. for prototype see http://wiki.apache.org/tapestry/Tapestry5AndJavaScriptExplained http://jumpstart.doublenegative.com.au/jumpstart/examples/javascript/robust
for jquery https://github.com/got5/tapestry5-jquery/blob/master/src/main/java/org/got5/tapestry5/jquery/components/InPlaceEditor.java void afterRender(MarkupWriter writer) { Link link = resources.createEventLink(EventConstants.ACTION, contextArray); JSONObject spec = new JSONObject(); writer.end(); spec.put("clientId", getClientId()); spec.put("href", link.toURI()); and related js https://github.com/got5/tapestry5-jquery/blob/master/src/main/resources/org/got5/tapestry5/jquery/assets/components/jeditable/jeditable.js Hope this help Best François 2012/1/30 Julien Martin <bal...@gmail.com>: > Thanks François, > I have actually. The issue is how to replace a variable within the js file > with the appropriate value. This seems easy enough with an inline script as > above but if the script is located in its own file I don't know how to > achieve the desired effect. > Regards, > Julien. > > Le 30 janvier 2012 11:04, François Facon <francois.fa...@atos.net> a écrit : > >> Hi Julien, >> >> did you try the use of @Import to import your js file as explained >> http://tapestry.apache.org/javascript.html? >> >> Regards >> François >> >> 2012/1/30 Julien Martin <bal...@gmail.com>: >> > Hi Thiago! >> > >> > Using your advice, I managed to generate the link easily. I have also >> moved >> > the script to a separate file as advised. >> > >> > Now what remains unclear to me is that the *addScript* method takes a >> > String and not a url to my javascript file. >> > >> > So on the one hand I have my link, on the other my javascript file. I >> > understand the rationale behind the addScript method: formatting the >> > content of the js file with one or several variables passed as the second >> > argument but what I have is js file not a short script as in the >> > documentation: >> > >> > javaScriptSupport.addScript( >> > >> > "$('%s').observe('click', hideMe());", >> > container.getClientId()); >> > >> > How do I pass my js file to the addScript method or do I use another >> method? >> > >> > Regards, >> > >> > Julien. >> > >> > 2012/1/30 Thiago H. de Paula Figueiredo <thiag...@gmail.com> >> > >> >> On Sun, 29 Jan 2012 19:22:31 -0200, Julien Martin <bal...@gmail.com> >> >> wrote: >> >> >> >> Thiago, >> >>> >> >> >> >> Hi! >> >> >> >> >> >> Yes it is indeed a Tapestry page. Here is the java code for it (there >> is >> >>> no template for this page): >> >>> >> >> >> >> So the correct way of generating an URL for a page is to @Inject >> >> PageRenderLinkSource and use one of its methods. They return a Link. >> Pass >> >> the result of the toAbsoluteURI() method to your JavaScript method by >> >> @Inject'ing JavaScriptSupport and using its addScript() method. >> >> >> >> In addition, as you're returning JSON content, instead of return >> >> TextStreamResponse, you can return a JSONObject or a JSONArray. >> >> >> >> >> >> -- >> >> Thiago H. de Paula Figueiredo >> >> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer, >> >> and instructor >> >> Owner, Ars Machina Tecnologia da Informação Ltda. >> >> http://www.arsmachina.com.br >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org