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访问.
javaTemplates-学习笔记三的更多相关文章
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
- JSP学习笔记(三):简单的Tomcat Web服务器
注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...
- java之jvm学习笔记三(Class文件检验器)
java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...
- VSTO学习笔记(三) 开发Office 2010 64位COM加载项
原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...
- Java IO学习笔记三
Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...
- NumPy学习笔记 三 股票价格
NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...
- Learning ROS for Robotics Programming Second Edition学习笔记(三) 补充 hector_slam
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Learning ROS for Robotics Programming Second Edition学习笔记(三) indigo rplidar rviz slam
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Typescript 学习笔记三:函数
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
随机推荐
- 第一个关于ajax的代码
昨天由于需要,写了第一个需要ajax的程序,之前只是看过相关介绍,没想到这么有用,记录一下,如有错误,还希望大家提出$(document).ready(function () {//获取url中名字为 ...
- "margin塌陷现象"div盒子嵌套盒子外边距合并现象
问题描述:原型大概是“一个div嵌套了两个 div,给main设定了background="pink" ,header1设定background=“red” .header2 设定 ...
- 缓存 Array.length 是老生常谈的小优化
问题 缓存 Array.length 是老生常谈的小优化. // 不缓存 for (var i = 0; i < arr.length; i++) { ... } // 缓存 var len = ...
- SVG彩虹字
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- AndroidUI--SlidingMenu使用例子
SlidingMenu简介: SlidingMenu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者右滑出现设置界面,能方便的进行各种操作.目前有大量的应用都在使用这一效果.如Evernote ...
- ARC、MRC混编
Xcode5之后,新建iOS工程,默认都是ARC模式,但是有时候我们的项目中需要用到一些第三方框架,我们下载下来却发现是非ARC的,这时候我们需要进行ARC和MRC混编. 第一种方式: Edit-&g ...
- CodeBlocks13.12汉化以及去掉注释及字符串的下划线
汉化: 在安装目录 D:\Program Files\CodeBlocks\share\CodeBlocks(我的安装目录)下,新建文件夹locale,然后在locale文件夹内建立文件夹zh_CN ...
- 前端开发面试题收集 css
什么是CSS盒子模型 页面上的每个元素都被浏览器看做是一个矩形的盒子. 由内容.填充.边框.边界组成. 什么是 css sprite 将多个图片拼接在一个图片中,通过background-positi ...
- IO-04. 混合类型数据格式化输入
/** *A4-IO-04. 混合类型数据格式化输入 *C语言实现 *测试已通过 */ #include "stdio.h" int main() { float m1,m2; i ...
- API 设计: RAML、Swagger、Blueprint三者的比较
API设计工具中常常会拿RAML.Swagger.Blueprint这三种工具进行讨论比较,它们都是用来描述和辅助API开发的,只是它们之间的侧重有所不同. RAML RAML(RESTful API ...