介绍
本文的目标是通过一个用户登录示例,简要的介绍使用Play进行Web开发的基本流程。本文并不会手把手教你如何创建一个Play应用,而是通过核心的代码片段传递Play的一些设计理念,为不熟悉Play框架的同学提供一个快速了解的途径。
创建登录Controller
在controllers目录下创建ApplicationController类:
package controllers
import play.api.mvc._
class ApplicationController extends Controller {
def login = Action {
Ok(views.html.login("用户登录"))
}
def doLogin(userName: String, password: String) = Action {
val mess = userName + "&" + password
Ok(mess)
}
}
上面定义了login和doLogin两个Action,一个用于引导用户至登录页面,另一个用户处理登录请求。一个Action其实就是一个函数,接受一个request作为参数,返回一个Result,返回的Result最终会被以Http响应的形式写回给浏览器。Ok(mess)返回的结果就是Result类型。
不熟悉Scala的同学看上面的代码会感觉比较奇怪,Action{...}和Ok(...)是什么鬼?其实这是调用单例对象上apply方法的简写形式,即Action{...}等价于Action.