I looks like a defect to me. I'll work on fixing it Thursday. On Tue, Dec 9, 2008 at 2:04 PM, Derek Chen-Becker <[EMAIL PROTECTED]>wrote:
> This is both a comment and a question. I'd like to be able to have a Menu > with a Loc pointing at "/help/". By using the strPairToLink method on the > Loc object, I can use it as both an entry into the help system. This allows > me to effectively bring up "/help/index" due to Lift converting trailing > slashes to "/index", and I can use the boolean parameter to allow access to > all files under the help subdirectory. In order to make this work, though, I > need to define the menu like: > > val helpMenu = Menu(Loc("HelpHome", ("help" :: "" :: Nil) -> true, "Help")) > > Note the empty string as part of the path definition. If I omit this, then > files under the help subdirectory are accessible, but the link generated by > Menu.builder is "/help". Because it omits the trailing slash it seems that > Lift tries to open the directory as a template XML file and I get an > internal server error (500, stack trace at the end of the email). My > question is whether this is the intended way of doing what I want, or if > I've missed some other way to define this in a single Menu entry (yes, I > could do two, with one hidden). With a server like apache, if I request a > directory without the trailing slash it will respond with a 301 redirect to > the same URL, but with a trailing slash. Should Lift be modified to follow > this behavior? > > One more related issue is that even if I define my Menu as I've shown > above, if I try to use "/help" in the URL without the trailing slash, I get > a directory listing instead of the index.html, which I would expect. > > I'm not sure if this is all under Lift's purview or if some of it should be > handled by chaining in the filter. > > Derek > > PS - Here's the stack trace if I omit the fake "slash": > > ERROR - Exception being returned to browser when processing Req(List(), > Map(), ParsePath(List(help),,true,false), , GetRequest, null) > java.lang.IllegalArgumentException: line 1 does not exist > at scala.io.Source.getLine(Source.scala:280) > at scala.io.Source.report(Source.scala:368) > at scala.io.Source.reportError(Source.scala:355) > at scala.io.Source.reportError(Source.scala:344) > at > scala.xml.parsing.MarkupParser$class.reportSyntaxError(MarkupParser.scala:1113) > > > > > -- Lift, the simply functional web framework http://liftweb.net Collaborative Task Management http://much4.us Follow me: http://twitter.com/dpp Git some: http://github.com/dpp --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---