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 ...
随机推荐
- 通过js控制html页面不能右键,复制等
<script type="text/javascript"> //Method one //<![CDATA[ //document.oncontextmenu ...
- java Timer 使用小结
Java自带的java.util.Timer类,通过调度一个java.util.TimerTask任务.这种方式可以让程序按照某一个频度执行,但不能指定时间运行.用的较少. 任务的调用通过起的子线程进 ...
- Python 自带IDLE中调试程序
在vs2013下调试过Python,今天试了下使用自带IDLE调试,相比而言后者效果不好. 记录一下 http://q.cnblogs.com/q/35869/ 在“Python Shell”窗口中单 ...
- check单选框多个全选与取消全选
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- Service(Local Service)简介
一.Service的作用 主要用于在后台处理一些耗时的逻辑操作,或者去执行某些长期运行的操作. 二.Service的创建 1.主要方法 IBinder onBind(Intent intent):必须 ...
- QJ系列笔记
1.求int型数据在内存中存储时1的个数输入一个int型数据,计算出该int型数据在内存中存储时1的个数. #include<stdio.h> void main() { ; int yu ...
- iOS把一个简单的图形变成一个圆
push是定义的一个button push.layer.masksToBounds = YES; push.layer.cornerRadius = 100; push.layer.borderWid ...
- jdk7和8的一些新特性介绍
jdk7和8的一些新特性介绍 本文是我学习了解了jdk7和jdk8的一些新特性的一些资料,有兴趣的大家可以浏览下下面的内容. 官方文档:http://www.oracle.com/technetwor ...
- poj3006
Dirichlet's Theorem on ...
- 杭电oj 2095 & 异或^符号在C/C++中的使用
异或^符号,在平时的学习时可能遇到的不多,不过有时使用得当可以发挥意想不到的结果. 值得注意的是,异或运算是建立在二进制基础上的,所有运算过程都是按位异或(即相同为0,不同为1,也称模二加),得到最终 ...