javaTemplates-学习笔记三

Routes入口

后台语言的应用入口都是从routes开始的,想要新建一个页面得学会配置routes. conf/routes 文件定义了全部应用URL的动作(Action),如果当浏览器请求访问http://localhost:9000/,应用将会返回一个页面,此时 routes 初始格式如下

# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~

# Home page
GET     /                           controllers.Application.index

字面意思就是首页了[默认的首页是 view 下的index.scala.html].

此定义告知play接收到HTTP GET/POST类型请求且路径为[/]时调用 controllers 包含Application类的index方法,对应的代码如下:

package controllers

import play.api._
import play.api.mvc._

object Application extends Controller {

  def index = Action {
    Ok(views.html.index("Your new application is ready."))
  }

}

 

如果想要指定是哪个文件可以修改routes:

# Home page
GET     /index.html                           controllers.Application.index

这个时候访问的地址就需要加上文件名了[http://localhost:9000/index.html].

理解Routes和 Controller

上面的 routes 定义  /  和 /index.html 对应了 Application.scala 代码块中的 index 方法来显示网页内容:    

//所有的控制台代码按play规范均归入controllers包
package controllers

//导入play应用开发所需要的类库
import play.api._
import play.api.mvc._

//Application全局对象实例化,因此使用Object来声明Application并继承play的Controller类
object Application extends Controller {

//定义index方法,任何toutes文件中指定调用的方法,必须放回Action对象来处理HTTP请求
  def index = Action {
    //任何ACtion对象必须获得反返回的Result对象
    //OK继承于Result对象,所以返回OK表示其包含的内容为HTTP 200 OK的状态
    //在Scala最后一行代码等同于 return OK(views.html.index("Your new application is ready."))
    Ok(views.html.index("Your new application is ready."))
  }

}  

def 这个声明好像Rython,Ruby中的代码块声明.

OK表示HTTP请求成功状态,可以修改内容try一下:

Ok(views.html.index("Hello World!"))

模板页面中的头部变成了 Hello World! .

View新建文件

了解了 routes   Application   Controller 之间的关系就可以自己创建文件了.

GET     /show.html                            controllers.Application.show
  def show = Action {
    Ok(views.html.index("Hello World!"))
  }

在 view 中新建文件show.scala.html copy index.scala.html中的代码块运行之...然后可以http://localhost:9000/show.html访问.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。