如何用play服务html页面

时间:2015-12-07 13:27:28

标签: html scala playframework

您好我想从控制器提供我的index.html页面。而且我不希望它成为一个视图,我希望它是一个纯粹的html文件,我不需要播放模板引擎。

请考虑以下事项:

路线:GET / controllers.MainApp.index

路线实施是:

def index = Action { implicit request =>
   if (AuthenticatedAction.isAuthenticated) {
      Ok(controllers.Assets.at(path="/public/", file="index.html"))     
    }    
     else Redirect(controllers.routes.Authentication.login())  }

我收到以下错误:

Cannot write an instance of play.api.mvc.Action[play.api.mvc.AnyContent] to HTTP response. Try to define a Writeable[play.api.mvc.Action[play.api.mvc.AnyContent]]

有没有办法像这样提供HTML页面?

可能的解决方案是做类似的事情:

路线:GET /*file controllers.Assets.versioned(path="/public", file: Asset)

然后从控制器返回:

Redirect("/index.html")

这给了我一个我不想要的网址路径:

http://localhost:9000/index.html#/

由于

1 个答案:

答案 0 :(得分:1)

我认为解决方案是返回

controllers.Assets.at(path="/public/", file="index.html")

而不是

Ok(controllers.Assets.at(path="/public/", file="index.html"))

at方法已经返回一个结果,所以你不需要在这里使用Ok。