Thanks Bas! I have fixed the problem. On Thu, Jul 4, 2013 at 1:10 AM, Bas Gooren <[email protected]> wrote:
> Wicket's ajax functions require you to load the wicket ajax javascript. > > This is handled by the AbstractDefaultAjaxBahavior out of the box. > However, since you do not call super.renderHead(component,**response) in > your code, the required javascript files are not loaded. > > Met vriendelijke groet, > Kind regards, > > Bas Gooren > > Op 3-7-2013 19:09, schreef Andun Sameera: > > Hi All, >> >> I have looked in to this topic in many places and found some ways. In this >> particular scenario, I have used >> https://cwiki.apache.org/**confluence/display/WICKET/** >> Calling+Wicket+from+**Javascriptarticle<https://cwiki.apache.org/confluence/display/WICKET/Calling+Wicket+from+Javascriptarticle> >> as the reference. >> >> What I did in Java, >> >> public class HomePage extends WebPage { >> private static final long serialVersionUID = 1L; >> >> public HomePage(final PageParameters parameters) { >> super(parameters); >> >> >> final AbstractDefaultAjaxBehavior behave = new >> AbstractDefaultAjaxBehavior() { >> protected void respond(final AjaxRequestTarget target) { >> target.add(new Label("foo", "Yeah I was just called from >> Javascript!")); >> } >> >> public void renderHead(Component component,IHeaderResponse >> response){ >> >> String componentMarkupId = component.getMarkupId(); >> String callbackUrl = getCallbackUrl().toString(); >> >> response.render(**JavaScriptHeaderItem.**forScript("var >> componentMarkupId='"+**componentMarkupId+"'; var >> callbackUrl='"+callbackUrl+"';**","values")); >> } >> }; >> >> add(behave); >> >> } >> >> } >> >> and my HomePage.html, >> >> <!DOCTYPE HTML> >> <html> >> <body> >> <script src="http://ajax.googleapis.**com/ajax/libs/jquery/1.6.1/** >> jquery.min.js<http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js> >> "></script> >> <script type="text/javascript"> >> $(function() { >> var wcall = Wicket.Ajax.get({ u: '${callbackUrl}' + '' }); >> alert(wcall); >> }); >> </script> >> </body> >> </html> >> >> What I tried to do is call the get ajax method using the vars I have >> initialized. But when my page loads, in the firebug console it says, >> >> ReferenceError: Wicket is not defined >> [Break On This Error] >> >> var wcall = Wicket.Ajax.get({ u: '${callbackUrl}' + '' }); >> >> What has gone wrong here ? >> >> Is there any other good way to call Java Function from Javascript? >> >> Thanks! >> >> > -- Regards Andun S.L. Gunawardana Undergraduate Department of Computer Science And Engineering University of Moratuwa Sri Lanka Blog - http://www.insightforfuture.blogspot.com/ LinkedIn - http://www.linkedin.com/pub/andun-s-l-gunawardana/34/646/703 Twitter -http://twitter.com/AndunSLG
