电梯在控制器中呈现不同的模板

时间:2014-10-14 12:42:56

标签: lift

我有下一个控制器

object MyController extends RestHelper {

  serve {
    case "name" :: name :: _ Get _ =>
      if (name == "adam") {
        //should render template adam.html
      } else {
        //should render other.html
      }       
  }

}

如何解除它的工作?

1 个答案:

答案 0 :(得分:1)

我认为你应该可以使用这样的东西:

Templates.apply("adam" :: Nil) match {
  case Full(ns) => XhtmlResponse(ns)
  case _ => NotFoundResponse("404 - Template Not Found")
}

但是,有两件事 - 如果你只是渲染页面 - 为什么不使用在SiteMap中内置的lift?它处理了很多错误条件等等。此外,您可能需要考虑制定两个不同的规则,以后可能更容易理解:

 case "name" :: "adam" :: _ Get _ => //render adam.html
 case "name" :: _ :: _ Get _ => //render other