Quantcast
Channel: 隔叶黄莺 Unmi Blog »翻译
Browsing all 20 articles
Browse latest View live

Play 2.0 中文资料 - 安装

系统要求 为了运行 Play 框架, 你需要 JDK 6 或更新的版本. 假如你正使用 MacOS, Java 已经内置了. 如果你正在使用 Linux, 请确认使用了 Sun  的 JDK 或 OpenJDK (不是 gcj, 它是许多 Linux 发行版的默认  Java 命令). 要是用的是 Windows, 只下载安装最新版的 JDK 安装包即可. 确可 java 和 javac...

View Article



Play 2.0 中文资料 - 创建一个新的应用

用 play 命令创建一个应用 创建一个新应用最初的方式是用 play new 命令. $ play new myFirstApp 这会询问你一些信息. 应用的名称 (仅用于显示, 这个名称后面将在几个消息中使用到). 用于这个应用的模板. 你可以从 默认的 Scala 应用, 默认的 Java 应用, 和 空应用 三个选项目中选择. Unmi 注: 新版 play new...

View Article

Play 2.0 中文资料 - 剖析 Play 2.0 应用

标准的应用目录布局 Play 应用的目录布局是标准化的,这样可保持尽量的简单. 一个标准的 Play 应用看起来如下: app                      → 应用程序源文件  └ assets                → 待编译的资源文件     └ stylesheets        → 比如放置 LESS CSS 源文件     └ javascripts...

View Article

Play 2.0 中文资料 - 使用 Play 2.0 控制台

启动控制台 Play 2.0 控制台是基于 sbt 的为开发而准备的控制吧, 它允许你管理整个 Play 应用的开发周期. 要启动控制台, 进入到现有的 Play 应用的目录,然后运行 play 脚本: Unmi 注: 虽然 sbt 是为 Scala 准备的构建工具,但是即使你创建的应用选的是 Java 语言, 我们仍然是要依赖于 sbt. 在 Play 1.x 的时候不存在 Play...

View Article

Play 2.0 中文资料 - HTTP 编程

这是一个 HTTP 编程 的大纲, 点击以下链接进入各节内容: Action, Controller 和 Result HTTP 路由 操控 results 会话和 Flash 域 (Flash Scope) Body 解析器 组合 Action  

View Article


Play 2.0 中文资料 - 搭建你偏爱的 IDE

用 Play 进行工作其实很简单的. 你甚至不需要一个复杂的 IDE, 因为 Play 会在你对源文件作了修改之后自动编译和刷新, 因此你可以很轻易的使用一个简单的文本编辑器来工作. 然而, 使用一个现代的 Java 或 Scala IDE 或给予你很 Cool 生产效率, 比如即时的编译, 良好的重构和调试功能. Eclipse 生成配置 Play 提供了一条命令简化了 Eclipse 配置....

View Article

Play 2.0 中文资料 - Action, Controller 和 Result

什么是 Action? 多数的请求被 Play 应用接收到,并由  Action 进行处理. 一个 play.api.mvc.Action 简单说来就是一个 (play.api.mvc.Request => play.api.mvc.Result) 函数,它处理请求并产生一个 result 发送给客户端. val echo = Action { request => Ok("Got...

View Article

Play 2.0 中文资料 - HTTP 路由

内建的 HTTP 路由器 路由器组件掌管把传入的 HTTP 请求转发到 Action. 一个HTTP 请求可被 MVC 框架看成是一个事件. 这个事主要包含两方面的信息: 请求路径 (如 /clients/1542, /photos/list), 包括查询字符串 HTTP 方法 (像 GET, POST, …). 路由定义在 conf/routes 文件中, 它会被编译....

View Article


Play 2.0 中文资料 - 操控 Result

改变默认的 Content-Type 结果内容的类型能够由你所指定的响应体的 Scala 值自动推断出来. 例如: val textResult = Ok("Hello World!") 将会自动设置 Content-Type 头为 text/plain, 而: val xmlResult = Ok(<message>Hello World!</message>) 会设置...

View Article


Play 2.0 中文资料 - 会话和 Flash 域

会话和 Flash 域在 Play 中有何不同 如果你不得不要跨多个 HTTP 请求来保存数据, 你可以存在会话或是 Flash 域中. 存储在会话中的数据在整个会话期间可用, 而存储在 Flash 域中数据只对下一次请求有效. 理解到会话和 Flash 数据不是由服务器来存储,而是以 Cookie 机制添加到每一次后续的 HTTP 请求是很重要的. 这也就意味着数据的大小是很受限的 (不到 4...

View Article

Play 2.0 中文资料 - Body 解析器

什么是 Body 解析器? HTTP PUT 或 POST 请求含有一个请求体(Body). 请求体可以使用任何格式, 只要在请求头中指定相应的 Content-Type 即可. 在 Play 中, 一个 Body 解析器 转换请求体为对应的 Scala 值. 然而,HTTP 请求体可能非常的大,这时候 Body 解析器 不可能在解析之前光等着把数据全部加载到内存. BodyParser[A]...

View Article

Play 2.0 中文资料 - 组合 Action

本章介绍几种定义通用 Action 功能的方法. 基本的 Action 组合 我们首先从一个简单的日志装饰器(logging decorator) 开始: 我们想要记录下当前 Action 每次被调用的日志. 我们不直接就定义自己的 Action, 而是首先提供一个用于创建标准 Action 的帮助方法: def LoggingAction(f: Request[AnyContent] =>...

View Article

Play 2.0 中文资料 - 模板引擎(语法)

模板引擎 Scala 模板语法 通用案例 Unmi 注:因为是 Web 框架,所以展示层必不可少,也就是接下来两章,我们进入到 Play2.0 中的模板引擎的世界,不同与Play 1.x 让你眼花缭乱的 ${}, #{}, @{}, @@{}, &{}, %{}% 和 *{}* 如此众多的标签样式,而在 Play 2.0 中只有一个魔幻的 @ 符号。这就叫化繁为简,Play 1.x...

View Article


Play 2.0 中文资料 - 模板引擎(用例)

模板引擎 Scala 模板语法 通用案例 模板, 实际作为简单函数存在的, 它可以任何你希望的方式被组合应用. 下面是一些通用场景的使用案例. 布局 我们来声明一个 views/main.scala.html 模板来用作主布局模板: @(title: String)(content: Html) <!DOCTYPE html> <html> <head>...

View Article

Play 2.0 中文资料 - Play JSON 库

使用 Json Play Json 库 处理 Json 请求 Play Json 库使用泛型 概述 推荐的处理  JSON 的方式是使用 Play 基于 JSON 库的类型类, 位置在 play.api.libs.json. 这个库是构建于 Jerkson, 之上的,它又是基于 Java 的超快的 JSON 库 Jackson 的 Scala 封闭。 Unmi 注:在 Play 1.x 所用的...

View Article


Play 2.0 中文资料 - 编写测试

编写测试 编写功能性测试 Unmi 注: 当你采用 TDD 进行开发过一段时间后,很快你就会对 TDD 产生依恋了。没直正去实践过 TDD,对于测试先行的提法只会觉得是一种理想状态。其实不然,从此开发模式变成 测试->实现->重构,同时也指导你的设计,基础架构并不需要那么稳定,它总在应需而变。所以 TDD...

View Article

Play 2.0 中文资料 - 编写功能性测试

编写测试 编写功能性测试 测试模板 因为模板自身就是一个标准的 Scala 函数, 所以你可以在你的测试代码中直接执行它, 并检查结果: "render index template" in { val html = views.html.index("Coco") contentType(html) must equalTo("text/html") contentAsString(html)...

View Article


Play 2.0 中文资料 - Play 缓存 API

默认的 Cache API 实现是用的 EHCache. 你也可以通过插件来提供自己的缓存实现. 访问 Cache API 缓存 API 由 play.api.cache.Cache 对象提供. 它需要注册一个缓存插件. 注: Cache API 尽力保持自身最小化,而允许插入多种实现. 如果你需要一个更具体的 API, 那就通过你自己的缓存插件来使用它. Unmi 注: EhCachePlugin...

View Article

Play 2.0 中文资料 - Play WS API

Play WS API Connecting to OpenID services Accessing resources protected by OAuth 有时候我们要在 Play 应用中调用其他的 HTTP 服务. Play 是通过它的 play.api.libs.ws.WS 库对此支持的, 该库提供了进行异步的 HTTP 调用. 任何由 play.api.libs.ws.WS...

View Article

Play 2.0 中文资料 - 应用程序全局对象

应用全局设置 全局对象 在你的项目中定义一个 Global 对象,它为你处理应用的全局设置. 这个对象必须定义在默认包中(即不带 package 声明的包). import play.api._ object Global extends GlobalSettings { } 小贴士: 你也可使用 application.global key 值在在配置中指定自己的 GlobalSettings...

View Article
Browsing all 20 articles
Browse latest View live




Latest Images