大东哥已经翻译了面向scala开发者的部分http://my.oschina.net/dongming/blog?catalog=153394
我打算翻译一下java部分,如果错误请予以指正,谢谢!
Actions, Controllers and Results
Action 是什么?
一个play应用程序收到的大部分请求都会被Action处理。
一个action就是一个用来处理请求参数的基本java方法,并且它还会生成一个返回到客户端的result。
public static Result index() {
return ok("Got request " + request() + "!");
}
一个action 返回一个play.mvc.Result 值,这个值代表了发送到web客户端的HTTP应答。在这个例子中,ok 构造了一个200 OK 应答,这个应答包含了一个text/plain的应答体。
Controllers
一个controller只不过是一个继承自 play.mvc.Controller 包含了几个action方法的类。
最简单的定义一个action的语法是一个没有参数的静态方法,他返回一个 Result 值:
public static Result index() {
return ok("It works!");
}
action方法也可以有参数:
public static Result index(String name) { return ok("Hello" + name); }
这些参数将会被 Router 解析,并通过请求的URL来填充。参数值可以从URL路径或者URL查询字符串中提取。
Results
让我们从简单的results开始:一个带有状态码、HTTP头,以及需要返回发送到web客户端的body的HTTP result。
这些results 是由play.mvc.Result 定义的, play.mvc.Results 类提供了一些辅助方法来生成标准的HTTP results,就像前一部分用到的 ok 方法:
public static Result index() { return ok("Hello world!"); }
这有几个创建各种类型results的例子:
Result ok = ok("Hello world!");
Result notFound = notFound();
Result pageNotFound = notFound("<h1>Page not found</h1>").as("text/html");
Result badRequest = badRequest(views.html.form.render(formWithErrors));
Result oops = internalServerError("Oops");
Result anyStatus = status(488, "Strange response type");
所有这些辅助方法都可以从 play.mvc.Results 类中找到。
Redirects(重定向)也是简单的results
.
重定向浏览器到一个新的URL仅仅是另一种的简单result。然而,这些result类型是没有应答体的。
这有几个用来创建重定向results的辅助方法:
public static Result index() { return redirect("/user/home"); }
这个默认值一般会使用 303 SEE_OTHER 应答类型,但是你也可以设定一个特定的状态码:
public static Result index() { return temporaryRedirect("/user/home"); }
--------------------------以下做个小广告-------------------------
NoSQL系列技术扣扣群:
一群:23152359(满员)
二群:193713524(强烈推荐,即将突破400人)
三群:79377097(新建)
四群:191845335(新建)
本群汇聚了包括百度、创新工厂、IBM、阿里、淘宝、京东、盛大等诸多知名企业的高端技术人才,
以各种NoSQL技术为主的大型交流群,欢迎各种猴子占领本群。
分享到:
相关推荐
《Play 2.0 文档》是一份详尽的指南,专为希望利用 Play 框架构建现代 Web 应用程序的 Java 和 Scala 开发者设计。Play 2.0 是一个高生产力的框架,它整合了开发现代 Web 应用所需的各种组件和 API,基于轻量级、无...
综上所述,GGScript_2.0.zip 包含的 APK 文件是一个面向 Android 平台的脚本工具,它可能用于游戏开发、自动化任务或者其他需要定制脚本逻辑的场景。用户可以通过安装和使用这个应用来编写、运行和管理 GGScript ...
这种集成方式在过去的项目中非常常见,但随着技术的发展,现在更多的开发者可能转向使用Spring Boot、Hibernate ORM(取代XFire的现代Web服务框架如Spring Web Services)和更新版本的Struts或替代品如Play ...
Spring MVC以其模块化、松耦合的设计,以及对依赖注入(DI)和面向切面编程(AOP)的支持,深受开发者喜爱。以下是一些从提供的文档标题中提炼出的关键知识点: 1. **基于Annotation的MVC(Spring 2.5)** - ...
- **面向对象+函数式编程**:Scala融合了面向对象编程和函数式编程的特性,支持类、对象和继承的同时也支持高阶函数、不可变性等函数式编程的核心概念。 - **分布式运行**:Scala设计之初就考虑到了并行和分布式...
5. **Java框架**:在项目管理中,开发者可能利用Spring Framework、Hibernate ORM、Struts或Play Framework等Java框架来简化开发,提高代码复用性,加速项目进度。 6. **敏捷开发**:在Java软件项目管理中,敏捷...
7. **Groovy与Grails**: Groovy是一种面向Java平台的动态语言,而Grails是基于Groovy的Web应用框架。2015年,Grails 3.x版本发布,带来了许多改进,包括更接近Spring Boot的结构和更快的开发周期。 8. **Apache ...
基于以上信息,我们可以推测"buingocduy.github.io"可能是一个Java开发者或团队的个人网站项目,其中可能包含以下知识点: 1. **GitHub Pages**: GitHub提供的静态网页托管服务,允许用户将仓库中的HTML、CSS和...
3. **Java后端开发**:在Java后端,开发者可能使用Spring Boot或Play Framework等框架来构建API服务,这些框架提供了处理HTTP请求、路由、数据访问和事务管理等功能,使得开发高效且易于维护。 4. **RESTful API...
标题中的“HololiveEN-GEN1-Watson-Amelia-Noises”指的是一个与Hololive Entertainment相关的项目,这是日本一家知名的虚拟YouTuber事务所。"Watson Amelia"是Hololive旗下的一个虚拟角色,可能是一位以英文为主要...
这个项目的描述表明它是一个新存储库,并且其`README.md`文件尚处于初步阶段,意味着项目可能还在开发初期,文档可能不完整,但它是项目开发过程中不可或缺的一部分,通常包含项目简介、安装指南、使用方法等信息。...
8. **开源许可证**:作为一个开源项目,它应该包含某种形式的开源许可证,例如MIT、Apache 2.0或GPL,这些都会规定其他开发者如何使用和修改源代码。 9. **API集成**:如果应用有更复杂的需求,比如与其他服务集成...
2. **Java编程**:作为主要编程语言,Java的面向对象特性、类库使用、异常处理以及数据结构等知识将在项目中起到关键作用。 3. **网络通信**:应用需要与Spotify服务器进行交互,因此需要理解HTTP协议和JSON数据...