URLs in XML need to be XML Encoded... so try <a href="http://www.yahoo.com?a=4&b=5">Test</a>
---Mark On Thu, Jul 30, 2009 at 10:53 AM, Ewan<ehar...@gmail.com> wrote: > > Not sure what I have messed up here but if I have a hardcoded link in > a template page where the href includes query params the lift runtime > stacktraces. As an example <a href="http://www.yahoo.com? > a=4&b=5">Test</a> blows up - see below. Removing the &b=5 and all is > well. The doctype is: > > ?xml version="1.0" encoding="UTF-8" ?> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// > www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > <html xmlns="http://www.w3.org/1999/xhtml" > xmlns:lift="http://liftweb.net/"> > > Running Liftversion1.1-SNAPSHOT built on Thu Jul 30 18:14:47 BST 2009. > > -- Ewan > > The stacktrace... > > <div style="border: 1px red solid">Error locating template /templates- > hidden/default.html.<br /> Message: <br /> > <pre> > java.util.NoSuchElementException > scala.RandomAccessSeq$$anon$13.next > (RandomAccessSeq.scala:165) > scala.xml.parsing.MarkupParser$class.normalizeAttributeValue > (MarkupParser.scala:1191) > net.liftweb.util.PCDataXmlParser.normalizeAttributeValue > (PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.xAttributeValue > (MarkupParser.scala:334) > net.liftweb.util.PCDataXmlParser.xAttributeValue > (PCDataMarkupParser.scala:91) > net.liftweb.util.PCDataXmlParser.xAttributes(PCDataMarkupParser.scala: > 106) > scala.xml.parsing.MarkupParser$class.xTag(MarkupParser.scala:365) > net.liftweb.util.PCDataXmlParser.xTag(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala:667) > net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala:481) > net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala:505) > net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala:682) > net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala:481) > net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala:505) > net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala:682) > net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala:481) > net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala:505) > net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala:682) > net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala:481) > net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala:505) > net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.element1(MarkupParser.scala:682) > net.liftweb.util.PCDataXmlParser.element1(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.content1(MarkupParser.scala:481) > net.liftweb.util.PCDataXmlParser.content1(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.content(MarkupParser.scala:505) > net.liftweb.util.PCDataXmlParser.content(PCDataMarkupParser.scala:91) > scala.xml.parsing.MarkupParser$class.document(MarkupParser.scala:200) > net.liftweb.util.PCDataXmlParser.document(PCDataMarkupParser.scala:91) > net.liftweb.util.PCDataXmlParser$$anonfun$apply$2$$anonfun$apply$5$ > $anonfun$apply$6.apply(PCDataMarkupParser.scala:181) > net.liftweb.util.PCDataXmlParser$$anonfun$apply$2$$anonfun$apply$5$ > $anonfun$apply$6.apply(PCDataMarkupParser.scala:181) > net.liftweb.util.ControlHelpers$class.tryo(ControlHelpers.scala:40) > net.liftweb.util.Helpers$.tryo(Helpers.scala:29) > net.liftweb.util.ControlHelpers$class.tryo(ControlHelpers.scala:55) > net.liftweb.util.Helpers$.tryo(Helpers.scala:29) > net.liftweb.util.PCDataXmlParser$$anonfun$apply$2$$anonfun$apply > $5.apply(PCDataMarkupParser.scala:181) > net.liftweb.util.PCDataXmlParser$$anonfun$apply$2$$anonfun$apply > $5.apply(PCDataMarkupParser.scala:179) > net.liftweb.util.Full.flatMap(Box.scala:332) > net.liftweb.util.PCDataXmlParser$$anonfun$apply$2.apply > (PCDataMarkupParser.scala:179) > net.liftweb.util.PCDataXmlParser$$anonfun$apply$2.apply > (PCDataMarkupParser.scala:178) > net.liftweb.util.Full.flatMap(Box.scala:332) > net.liftweb.util.PCDataXmlParser$.apply(PCDataMarkupParser.scala:178) > net.liftweb.http.TemplateFinder$.findAnyTemplate(LiftSession.scala: > 1231) > net.liftweb.http.LiftSession.findTemplate(LiftSession.scala:727) > net.liftweb.http.LiftSession.findAndMerge(LiftSession.scala:1098) > net.liftweb.builtin.snippet.Surround$$anonfun$render$1$$anonfun$apply > $2.apply(Surround.scala:36) > net.liftweb.builtin.snippet.Surround$$anonfun$render$1$$anonfun$apply > $2.apply(Surround.scala:31) > net.liftweb.util.Full.map(Box.scala:330) > net.liftweb.builtin.snippet.Surround$$anonfun$render$1.apply > (Surround.scala:31) > net.liftweb.builtin.snippet.Surround$$anonfun$render$1.apply > (Surround.scala:30) > net.liftweb.util.Full.flatMap(Box.scala:332) > net.liftweb.builtin.snippet.Surround$.render(Surround.scala:30) > net.liftweb.builtin.snippet.Surround$$anonfun$dispatch$1$$anonfun$apply > $1.apply(Surround.scala:26) > net.liftweb.builtin.snippet.Surround$$anonfun$dispatch$1$$anonfun$apply > $1.apply(Surround.scala:26) > net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$47$$anonfun > $apply$50$$anonfun$apply$52.apply(LiftSession.scala:862) > net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$47$$anonfun > $apply$50$$anonfun$apply$52.apply(LiftSession.scala:849) > net.liftweb.util.EmptyBox.openOr(Box.scala:372) > net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$47$$anonfun > $apply$50.apply(LiftSession.scala:849) > net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$47$$anonfun > $apply$50.apply(LiftSession.scala:849) > net.liftweb.util.EmptyBox.openOr(Box.scala:372) > net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$47.apply > (LiftSession.scala:848) > net.liftweb.http.LiftSession$$anonfun$17$$anonfun$apply$47.apply > (LiftSession.scala:848) > net.liftweb.http.S$.doSnippet(S.scala:1542) > net.liftweb.http.LiftSession$$anonfun$17.apply(LiftSession.scala:846) > net.liftweb.http.LiftSession$$anonfun$17.apply(LiftSession.scala:845) > net.liftweb.util.Full.map(Box.scala:330) > net.liftweb.http.LiftSession.net$liftweb$http$LiftSession$ > $processSnippet(LiftSession.scala:845) > net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply > (LiftSession.scala:944) > net.liftweb.http.LiftSession$$anonfun$_defaultLiftTagProcessing$1.apply > (LiftSession.scala:932) > net.liftweb.util.NamedPF.apply(NamedPartialFunction.scala:30) > net.liftweb.util.NamedPF$.apply(NamedPartialFunction.scala:76) > net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$ > $anonfun$apply$58$$anonfun$apply$59.apply(LiftSession.scala:964) > net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$ > $anonfun$apply$58$$anonfun$apply$59.apply(LiftSession.scala:964) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$.setVars(S.scala:1384) > net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$ > $anonfun$apply$58.apply(LiftSession.scala:963) > net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1$ > $anonfun$apply$58.apply(LiftSession.scala:963) > net.liftweb.http.S$.doSnippet(S.scala:1542) > net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply > (LiftSession.scala:962) > net.liftweb.http.LiftSession$$anonfun$processSurroundAndInclude$1.apply > (LiftSession.scala:956) > scala.Seq$class.flatMap(Seq.scala:294) > scala.xml.NodeSeq.flatMap(NodeSeq.scala:34) > net.liftweb.http.LiftSession.processSurroundAndInclude > (LiftSession.scala:955) > net.liftweb.http.LiftSession$$anonfun$10$$anonfun$apply$34$$anonfun > $apply$36.apply(LiftSession.scala:573) > net.liftweb.http.LiftSession$$anonfun$10$$anonfun$apply$34$$anonfun > $apply$36.apply(LiftSession.scala:573) > net.liftweb.util.Full.map(Box.scala:330) > net.liftweb.http.LiftSession$$anonfun$10$$anonfun$apply$34.apply > (LiftSession.scala:573) > net.liftweb.http.LiftSession$$anonfun$10$$anonfun$apply$34.apply > (LiftSession.scala:573) > net.liftweb.util.EmptyBox.or(Box.scala:374) > net.liftweb.http.LiftSession$$anonfun$10.apply(LiftSession.scala:570) > net.liftweb.http.LiftSession$$anonfun$10.apply(LiftSession.scala:563) > net.liftweb.util.EmptyBox.or(Box.scala:374) > net.liftweb.http.LiftSession.processRequest(LiftSession.scala:563) > net.liftweb.http.LiftServlet.net$liftweb$http$LiftServlet$ > $dispatchStatefulRequest(LiftServlet.scala:239) > net.liftweb.http.LiftServlet$$anonfun$2.apply(LiftServlet.scala:155) > net.liftweb.http.LiftServlet$$anonfun$2.apply(LiftServlet.scala:155) > net.liftweb.http.S$.net$liftweb$http$S$$wrapQuery(S.scala:909) > net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1$ > $anonfun$apply$19.apply(S.scala:1049) > net.liftweb.http.S$.net$liftweb$http$S$$doAround(S.scala:846) > net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_nest2InnerInit$1.apply > (S.scala:1047) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$.net$liftweb$http$S$$_nest2InnerInit(S.scala:1046) > net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun > $apply$22$$anonfun$apply$23$$anonfun$apply$24$$anonfun$apply$25$ > $anonfun$apply$26$$anonfun$apply$27.apply(S.scala:1067) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun > $apply$22$$anonfun$apply$23$$anonfun$apply$24$$anonfun$apply$25$ > $anonfun$apply$26.apply(S.scala:1066) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun > $apply$22$$anonfun$apply$23$$anonfun$apply$24$$anonfun$apply$25.apply > (S.scala:1065) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun > $apply$22$$anonfun$apply$23$$anonfun$apply$24.apply(S.scala:1064) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun > $apply$22$$anonfun$apply$23.apply(S.scala:1063) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1$$anonfun > $apply$22.apply(S.scala:1062) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$$anonfun$net$liftweb$http$S$$_innerInit$1.apply > (S.scala:1061) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$.net$liftweb$http$S$$_innerInit(S.scala:1060) > net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$30$$anonfun$apply > $31$$anonfun$apply$32$$anonfun$apply$33.apply(S.scala:1091) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$30$$anonfun$apply > $31$$anonfun$apply$32.apply(S.scala:1090) > net.liftweb.http.RequestVarHandler$.apply(Vars.scala:206) > net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$30$$anonfun$apply > $31.apply(S.scala:1089) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$$anonfun$_init$1$$anonfun$apply$30.apply(S.scala: > 1088) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$$anonfun$_init$1.apply(S.scala:1087) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.S$._init(S.scala:1086) > net.liftweb.http.S$.init(S.scala:780) > net.liftweb.http.LiftServlet.doService(LiftServlet.scala:154) > net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala: > 83) > net.liftweb.http.LiftServlet$$anonfun$doIt$1$1.apply(LiftServlet.scala: > 83) > net.liftweb.util.TimeHelpers$class.calcTime(TimeHelpers.scala:241) > net.liftweb.util.Helpers$.calcTime(Helpers.scala:29) > net.liftweb.util.TimeHelpers$class.logTime(TimeHelpers.scala:250) > net.liftweb.util.Helpers$.logTime(Helpers.scala:29) > net.liftweb.http.LiftServlet.doIt$1(LiftServlet.scala:82) > net.liftweb.http.LiftServlet.service(LiftServlet.scala:91) > net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1$$anonfun$apply > $25.apply(LiftServlet.scala:507) > net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1$$anonfun$apply > $25.apply(LiftServlet.scala:507) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.URLRewriter$.doWith(Req.scala:480) > net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1.apply > (LiftServlet.scala:506) > net.liftweb.http.LiftFilterTrait$$anonfun$doFilter$1.apply > (LiftServlet.scala:500) > net.liftweb.http.RequestVarHandler$$anonfun$apply$5$$anonfun$apply$6$ > $anonfun$apply$7$$anonfun$apply$8.apply(Vars.scala:212) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.RequestVarHandler$$anonfun$apply$5$$anonfun$apply$6$ > $anonfun$apply$7.apply(Vars.scala:211) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.RequestVarHandler$$anonfun$apply$5$$anonfun$apply > $6.apply(Vars.scala:210) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.RequestVarHandler$$anonfun$apply$5.apply(Vars.scala: > 209) > net.liftweb.util.ThreadGlobal.doWith(ThreadGlobal.scala:65) > net.liftweb.http.RequestVarHandler$.apply(Vars.scala:208) > net.liftweb.http.LiftFilterTrait$class.doFilter(LiftServlet.scala:499) > net.liftweb.http.LiftFilter.doFilter(LiftServlet.scala:518) > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter > (ServletHandler.java:1148) > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: > 387) > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: > 216) > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: > 181) > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: > 765) > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) > org.mortbay.jetty.handler.ContextHandlerCollection.handle > (ContextHandlerCollection.java:230) > org.mortbay.jetty.handler.HandlerCollection.handle > (HandlerCollection.java:114) > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: > 152) > org.mortbay.jetty.Server.handle(Server.java:326) > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: > 534) > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete > (HttpConnection.java:864) > org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) > org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) > org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) > org.mortbay.io.nio.SelectChannelEndPoint.run > (SelectChannelEndPoint.java:409) > org.mortbay.thread.QueuedThreadPool$PoolThread.run > (QueuedThreadPool.java:520) > </pre> > This message is displayed because you are in > Development mode. > </div> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---