You can add JS with JavascriptUtils - but in the constructor you're not in the render phase, so if I remember correctly, the response isn't ready to be written to, etc.
On Tue, Dec 16, 2008 at 2:30 PM, Marvan Spagnolo <[email protected]> wrote: > Thank you Francisco, > I attached a behaviour to the page using the snippet you included in your > reply as a base and that worked ! > > I thought I could use JavascriptUtils for quickly adding js code in the > markup but that maybe worked in previous versions of wicket or it could > work > in other contexts, not directly in a page. > > Cheers, > > Reza Marvan Spagnolo > > On Tue, Dec 16, 2008 at 8:56 PM, francisco treacy < > [email protected]> wrote: > > > your page should implement IHeaderContributor > > > > or attach a behaviour to your components. > > > > for instance (first snippet i found out there): > > > > private static class MyJSBehavior extends AbstractBehavior { > > private static final long serialVersionUID = 1L; > > @Override > > public void renderHead(IHeaderResponse response) { > > super.renderHead(response); > > response.renderOnDomReadyJavascript("alert('test');"); > > } > > } > > > > > > this is widely documented so you should be able to find better > > examples, but that's the way to go > > > > francisco > > > > > > On Tue, Dec 16, 2008 at 8:51 PM, Marvan Spagnolo <[email protected]> > > wrote: > > > Hi, > > > I'm trying to write some javascript in a page's markup (subclass of > > another > > > page using <wicket:child>/<wicket:extend> mechanism) > > > via JavascriptUtils.writeJavascript(). > > > > > > The fact is it doesn't do anything at all nor I can't find anything > > related > > > in the stack trace (the page displays well with no exceptions nor > > problems > > > at all), > > > the expected javascript is simply not in the generated markup. > > > Before calling JavascriptUtils I add a form to the page (which works > > > normally as expected). > > > > > > The actual code looks like: > > > > > > --- > > > public class MyPage extends MyBasePage > > > { > > > public MyPage() > > > { > > > add( new MyForm( "formid" )); > > > String js = "... javascript code here ..."; > > > JavascriptUtils.writeJavascript( getResponse(), js); > > > } > > > } > > > --- > > > > > > Can anyone please help ? Should I maybe use something else instead of > > > getResponse() ? > > > I expected that the javascript would have been written before the > > > </wicket:extend> closing tag, or wherever but it's not in the markup at > > all. > > > I'm using wicket 1.3.5 on tomcat 6 and jdk 1.6. > > > > > > Reza Marvan Spagnolo > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > > -- > Reza Marvan Spagnolo > > SW & Network Engineer - Freelancer > @ :: [email protected] > m :: + 34 622 161 746 > skype :: mrvspg > -- Jeremy Thomerson http://www.wickettraining.com
