On Sun, Feb 28, 2010 at 8:28 PM, Neil.Lv <[email protected]> wrote:
> Hi all,
>
> I have a silly question about the url rewrite in the lift.
> It has another two params in the url after the img.
>
> http://localhost:8080/show/img/version/id
>
> The url works fine.
> => http://localhost:8080/show/img
> => http://localhost:8080/show/img/v1/
> => http://localhost:8080/show/img/v1/1
>
> Get 404 error if the "/" string is not added at the end of the url
> (the id param isn't supplied)
> => http://localhost:8080/show/img/v1
>
> So, how can i rewrite the url and set the sitemap can make this link
> ( http://localhost:8080/show/img/v1 )
> works fine as ( http://localhost:8080/show/img/v1/ ) when the id
> is not supplied.
>
> Here is the code:
>
> ###
> case RewriteRequest(
> ParsePath(List("show", "img", version, id), _, _,_), _, _) =>
> RewriteResponse(List("show", "img"),
> Map("version" -> version, "id" -> id)
> )
> ###
>
This is just basic pattern matching stuff. So,
case RewriteRequest(
ParsePath("show" :: "img" :: version :: rest, _, _,_), _, _) =>
RewriteResponse(List("show", "img"),
Map("version" -> version, "id" -> (rest.firstOption getOrElse "N/A"))
)
Please pick up a copy of one of the Scala books and look at the pattern
matching section related to Lists. There's a lot of flexibility that's no
Lift-specific, but that Lift leverages.
val entries = Menu(Loc("Home", List("index"), "Home")) ::
> Menu(Loc("show", List("show"), "show", Hidden)) :: User.sitemap
>
> ###
>
> BTW, I use the LiftView to handle the request.
>
> ###
> class show extends LiftView {
> def dispatch = {
> case "img" => imgDispatch _
> case _ => allDispatch _
> }
>
> def imgDispatch(): Box[NodeSeq] = {
> ...
> }
>
> def allDispatch(): Box[NodeSeq] = {
> ...
> }
> }
> ###
>
> Thanks very much!
>
> Cheers,
> Neil
>
> --
> 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]<liftweb%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/liftweb?hl=en.
>
>
--
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Surf the harmonics
--
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.