javaTemplates-學習筆記三

Routes入口

後臺語言的應用入口都是從routes開始的,想要新建一個頁面得學會配置routes. conf/routes 文件定義了所有應用URL的動做(Action),若是當瀏覽器請求訪問http://localhost:9000/,應用將會返回一個頁面,此時 routes 初始格式以下html

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

# Home page
GET     /                           controllers.Application.index

字面意思就是首頁了[默認的首頁是 view 下的index.scala.html].api

此定義告知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:mvc

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

這個時候訪問的地址就須要加上文件名了[http://localhost:9000/index.html].app

理解Routes和 Controller

上面的 routes 定義  /  和 /index.html 對應了 Application.scala 代碼塊中的 index 方法來顯示網頁內容:    spa

//全部的控制檯代碼按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中的代碼塊聲明.scala

OK表示HTTP請求成功狀態,能夠修改內容try一下:code

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

模板頁面中的頭部變成了 Hello World! .htm

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訪問.

相關文章
相關標籤/搜索