Yay! David Pollak wrote: > Derek, > > This commit should take care of it: > http://github.com/dpp/liftweb/commit/2650e10981990eeb08d04d686be27d77da2a5434 > > Also, it takes care of Charles' "I had index at the end of my URLs" problem. > > Thanks, > > David > > On Tue, Dec 9, 2008 at 2:04 PM, Derek Chen-Becker <[email protected] > <mailto:[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 [email protected] 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 -~----------~----~----~----~------~----~------~--~---
