博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
playframework学习笔记2 -- 基本的mvc
阅读量:6158 次
发布时间:2019-06-21

本文共 1458 字,大约阅读时间需要 4 分钟。

    从这里开始就真正进入框架的使用了。play是一个full stack的web框架,mvc当然是其中至关重要的一部分,今天简单的记录下我的学习体会。

  说到mvc,无非是model - view - controller,下面就分别就这几部分看看play中mvc的使用方法。

  1. Controller:

在play中,controller被称为action,与struts类似,而在使用上,也与struts中大同小异。按照网站上的解释,一个action是一个通过request生成response的方法。要想添加一个新的action的话,定义一个方法即可,只有一点需要注意的,那就是这个方法必须位于一个实现了controller的对象中。在例子程序中,action被放到了名为application的对象中。我们只需要在该对象中添加即可。

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

  2. view

在模板工程中,视图以html页面的形式放到了view目录下,由于还没有看到后面的内容,不确定是否能够支持别的视图。 虽然文件类型为html,但是与静态页面并不一样,而是服务端页面。在页面中,可以通过表达式动态显示服务端返回的内容,就像这样:

1 2         @content3 

 与jsp中的el是不是有些类似呢?只是不知道是不是有像jstl这样的标签库。欢迎高手剧透。

 3. model

由于仅仅看了前面两章,没有看到专门有像spring mvc那样的模型视图对象来处理数据。还记得刚才模型一节的内容吗,"Your new application is ready"这个字符串被传递到哪去了呢?答案就是页面中。在页面中可以通过@来获取数据。粗略的猜测一下,model大概也是这样的方式交给页面进行展示的吧。还是那句话,高手请不吝赐教。

4. route

用户对于url路径的请求是怎么被转到相应的action进行处理的呢?答案就是route文件。可以大致看下route的内容:

GET     /                           controllers.Application.indexGET    /promise                    controllers.Application.promiseIndex

结合网站的介绍可以知道,每一行对应一个请求mapping。大致格式是 http方法 + url pattern + 对应的action。这里仅有两个静态的pattern。事实上,这个映射远比这里写的要强大的多。通配符和参数都能够很好的支持。

1 GET   /clients/:id          controllers.Clients.show(id: Long)

上图是网站上的例子,熟悉web开发的同学应该很快反应过来了,这不就是传说中的rest么?没错,通过这样的mapping,实现rest风格的web service变得异常简单。至于使用正则的url匹配模式这样的高级功能,就需要通过实践慢慢摸索了。

时间有限,这篇简单介绍play中的基本mvc的文章就到此结束了。欢迎批评斧正!

 

 

 

 

转载于:https://www.cnblogs.com/yaotc/archive/2012/11/26/2790034.html

你可能感兴趣的文章
Matlab 进行FFT
查看>>
Eclipse 工作台用户指导>视图和编辑器
查看>>
项目常用的PHP代码
查看>>
Python自动化开发学习22-Django下(Form)
查看>>
算法-排序
查看>>
获取SQL SERVER某个数据库中所有存储过程的参数
查看>>
在Linux下编译安装Apache2(2)
查看>>
Method Swizzling 处理一类简单的崩溃
查看>>
AngularJS学习!
查看>>
在Eclipse中搭建Python Django
查看>>
struts国际化
查看>>
Laravel 5.0 - Middleware (中间件)
查看>>
文件特殊权限及facl
查看>>
我的友情链接
查看>>
Android按两次返回键退出应用
查看>>
第一章:认识Redhat Linux
查看>>
文本查看指令
查看>>
我的友情链接
查看>>
android开源项目框架大全:《IT蓝豹》
查看>>
我的友情链接
查看>>