Playframework 初めてのcontroller

お手本通りのcontroller作成。
間違いで、objectをclassと記述してしまって、ちょっとハマった。

HelloController.scala

[scala]
package controllers

import play.api.mvc.Action
import play.api.mvc.Controller

object HelloController extends Controller {
def index = Action{
Ok(<p>Hello Purgeさん</p>).as(HTML)
}

}
[/scala]

routesファイル

[scala]
GET /hello controllers.HelloController.index
[/scala]

日本語も難なく表示した。
今度は、viewファイルを使用してみる。views以下に配置。

HelloController.scala

[scala]
package controllers

import play.api.mvc.Action
import play.api.mvc.Controller

object HelloController extends Controller {
def index = Action{
//Ok(<p>Hello Purgeさん</p>).as(HTML)
Ok(views.html.hello())
}

}
[/scala]

hello.scala.html

[html]
<html>
<head>
<title>Hello Scala!!</title>
</head>
<body>
<p>こんにちは。Purgeさん!!!!</p>
</body>
</html>
[/html]

最初は、controllerから、viewを指定するの記述方法に迷った。とりあえずはこれで動作した。

こんどは、パラメータを受け取ってみる。

HelloController.scala

[scala]
package controllers

import play.api.mvc.Action
import play.api.mvc.Controller

object HelloController extends Controller {
def index = Action{request =>
val params: Map[String, Seq[String]] = request.queryString
val name = params("name").head
Ok(views.html.hello(name))
}
}
[/scala]

パラメータが見つからないとエラーとなるようなので、あえて下記のようにリクエストにパラメータを付加してみる。

http://localhost:9000/hello?name=ほげ

hello.scala.html

[html]
@(name: String)
<html>
<head>
<title>Hello Scala!!</title>
</head>
<body>
<p>こんにちは。@name さん!!!!</p>
</body>
</html>
[/html]

パラメータを受けて、名前が表示された。

This entry was posted in Playframework, Scala, 技術情報. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です