I should clarify, this all works when using the normal core ajax services provided in 4.1.1, not specifically in the XTile service.
On 12/6/06, Jesse Kuhnert <[EMAIL PROTECTED]> wrote:
FYI, this all "just works" as expected in t 4.1.1. (the solution is still a little questionable but it's the best default behavior I could think of so far) On 12/6/06, Robert Zeigler <[EMAIL PROTECTED]> wrote: > cycle.activate will make the "activated" page be the page that renders. > However... the xtile service doesn't result in a page render. It results > in an "ajax" response; hence, cycle.activate won't work. What you might > consider doing is putting the url of the page you want to activate into > the service parameters. Then you could just replace the document > location with the new url. Something along the lines of: > > else { > IEngineSerivce svc = cycle.getEngine().getService(Tapestry.PAGE_SERVICE); > Object[] params = new Object[] { "NoviaMail_ReadMail" }; > ILink link = svc.getLink(false,params); > cycle.setServiceParameters(new Object[] > {"redirect",link.getAbsoluteURL()}); > } > > and in javascript, something like: > > my_function(params) { > if (params[0] == "redirect") { > document.location.href=params[1]; > return; > } > ... > } > > Something along those lines. > > Robert > > MattHouston wrote: > > Hi ! > > > > I have a probleme using the XTile component and cycle.activate. > > I do sth in AJAX with XTile and in my Java function who handle requests, > > sometimes i only receive and send requests to the client, that works good. > > But i would like to sometimes not send a request but activate another page, > > I thought I can do that with cycle.activate, but it doesn't works... > > > > The code of my function : > > > > public void handleListOfMailsRequest(IRequestCycle cycle) { > > Object[] params = ((RequestCycle) cycle).getServiceParameters(); > > System.out.println("length parmas : "+params.length); > > if (params.length == 0) return; > > > > if (params[0].equals("isNews")) { // works good > > [...] > > > > String[] ret = {mm.getDate(), mm.getFrom(), mm.getSubject(), > > mm.getSize(), "false", mm.getId()}; > > ((RequestCycle) cycle).setServiceParameters(ret); > > } > > else { //dont work > > cycle.activate(NoviaMail_ReadMail); > > } > > } > > > > Any help will be apprecated. > > Thanks > > > > MattHouston > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
-- Jesse Kuhnert Tapestry/Dojo team member/developer Open source based consulting work centered around dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]