Play 可以做的 5 件很酷的事
(原文链接:http://play-framework.herokuapp.com/zh/5things
来自"Playframework中文小站
" )
通过 5 个实例,透视 Play 框架背后的哲学。
用 Play 框架,在 Java 代码中获取 HTTP 请求参数是非常简单的,只需要声明方法的参数名和 HTTP 请求的参数名一样就可以了。
例如,这个请求:
/articles/archive?date=08/01/08&page=2
把 date
和 page
声明为 Java 方法的传入参数,就可以获取 HTTP 请求中 date 和 page 参数的值了:
public static void archive(Date date, Integer page) {
List<Article> articles = Articles.fromArchive(date, page);
render(articles);
}
Play 框架会根据声明的 Java 参数类型,自动把 HTTP 请求参数转换成对应的 Java 对象。
这种自动绑定也适用于 任何的 Java 对象
。
public class Person {
public String name;
public Integer age;
}
一个简单的用于添加用户的控制器的 action 方法可以像这样:
public static void add(Person p) {
p.save();
}
对应的 HTML 表单域使用复合的参数名:
<form action="/Directory/add" method="POST">
Name: <input type="text" name="p.name" />
Age: <input type="text" name="p.age" />
</form>
Play 没有等价于 Java Servlet forward
命令的方法,但是实现重定向确实非常简单。只需调用相应的 Java 方法,Play 就会自动生成正确的重定向( HTTP Redirect )响应给客户端。
public static void show(Long id) {
Article article = Article.findById(id);
render(article);
}
public static void edit(Long id, String title) {
Article article = Article.findById(id);
article.title = title;
article.save();
show(id);
}
注意在 edit 方法的最后,是如何使我们重定向到 show 方法对应的页面的。
在任何模板文件中,你可以利用同样的语法生成链接:
<a href="@{Article.show(article.id)}">${article.title}</a>
将会生成以下 HTML 内容:
<a href="/articles/15">My new article</a>
在大多数的 Java 框架中,为了把 Java 对象传递到模板文件,通常你需要类似这样写:
Article article = Article.findById(id);
User user = User.getConnected();
Map<String, Object> model = new HashMap<String,Object>();
model.put("article", article);
model.put("user", user);
render(model);
使用 Play,你只须这样写:
Article article = Article.findById(id);
User user = User.getConnected();
render(article, user);
然后你就可以从模板中获取相应的 Java 变量。这样剩下了不少重复无用的代码…
JPA 无疑是目前 Java 领域最佳的对象关系映射框架( ORM )。如果你熟悉 JPA,你会惊讶于它在 Play 框架中变得如此简单。不需要任何配置,Play 会自动启动 JPA 实体管理器,并在代码发生修改时自动地同步。
而且如果你使用 Play 提供的 play.db.jpa.Model
作为超类时,它会帮助你把代码写得更漂亮。来看一下:
public void messages(int page) {
User connectedUser = User.find("byEmail", connected()).first();
List<Message> messages = Message.find(
"user = ? and read = false order by date desc",
connectedUser
).from(page * 10).fetch(10);
render(connectedUser, messages);
}
在 Play 框架里文件上传管理非常简单。
以下 HTML 表单:
#{form @uploadPhoto(), enctype:'multipart/form-data'}
<input type="text" name="title" />
<input type="file" id="photo" name="photo" />
<input type="submit" value="Send it..." />
#{/}
和这段 Java 代码:
public static void uploadPhoto(String title, File photo) {
...
}
就完成了! 再简单不过了吧?
(原文链接:http://play-framework.herokuapp.com/zh/5things
来自"Playframework中文小站
" )
分享到:
相关推荐
framework api,play api"都是指Play Framework的API文档,它包含了框架的所有公共类、方法和接口,供开发者在编写代码时查阅和引用。API文档是理解框架工作原理、学习如何使用框架功能以及解决问题的关键资源。 ...
Play框架中文文档.pdf
《Play Framework框架项目部署详解》 Play Framework是一个强大的、基于Java和Scala的开源Web应用程序框架,它采用模型-视图-控制器(MVC)架构模式,以简洁的API和直观的开发体验受到开发者喜爱。本篇文章将详述...
Play Framework2是一个强大的Java和Scala应用开发框架,它以其简洁的API、快速的开发周期以及对Web标准的紧密集成而闻名。本教程旨在为初学者和有经验的开发者提供全面的指导,帮助他们掌握Play Framework2的核心...
而"playframework-2.7.9"可能是一个解压后的目录,其中包含了框架的全部源代码、库文件、示例项目、构建脚本等。 Play Framework的核心特性包括: 1. **异步编程模型**:Play Framework利用Akka Actor系统实现非...
《Play Framework 框架手册》是一份深入介绍Play框架的文档,主要涵盖了从基础概念到高级特性的全面内容,适合初学者和经验丰富的开发者参考。以下是对手册中部分核心知识点的详细阐述: 1. **MVC应用程序模型**:...
然后,《playframework_api.rar》则是Play Framework的最新API文档。API文档是开发者日常工作中不可或缺的参考资料,它详尽地列出了框架的所有类、接口、方法,方便开发者查找和使用。 最后,是《play——demo.rar...
在标题"playFramework1.2.3"中,我们关注的是Play Framework的1.2.3版本。这个版本是在其早期发展的一个稳定版本,提供了许多开发者友好的功能。 Play Framework的核心优势在于它采用了模型-视图-控制器(MVC)架构...
Play Framework 是一个开源的Web应用框架,用于构建高效、可测试和模块化的Java及Scala应用程序。这个框架以其简洁的API和MVC(Model-View-Controller)架构设计著称,深受开发者的喜爱。以下是关于Play Framework的...
Play-Utils 模块是为 Play Framework 设计的一个强大且实用的工具集合,它极大地提升了开发者在使用 Play Framework 进行 Java Web 开发时的效率和便利性。Play Framework 是一个开源的、基于 MVC(模型-视图-控制器...
- **官方文档**:[Play Framework官方文档](***是了解和学习Play框架的最佳资源。 - **书籍**:《Play Framework Essentials》是一本关于Play框架的入门书籍,涵盖了使用Play框架构建可伸缩Web应用程序的基础知识。 ...
5. **热部署**:Play Framework 支持热部署,这意味着开发者可以实时看到代码更改的效果,无需重新启动服务器,极大地提升了开发效率。 6. **测试工具**:Play 自带了一套完整的测试工具,包括单元测试和集成测试,...
Play Framework 是一个基于Java和Scala的开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式。在本教程中,我们将探讨如何利用Play Framework与MySQL数据库交互,实现基本的CRUD(创建、读取、更新、删除)...
- **API 设计与开发**:详细说明了如何使用 Play Framework 创建 RESTful API,包括错误处理、文档生成等方面的知识。 #### 五、作者介绍 - **Alexander Reelsen**:软件工程师,居住在德国慕尼黑,拥有丰富的软件...
Playframework 1.2.7 是一个开源的Java和Scala Web应用框架,它采用模型-视图-控制器(MVC)架构模式,并且是基于事件驱动的,这使得开发过程更加高效和简洁。这个zip包"play1.2.7.zip"包含了Playframework的SDK,...
在压缩包中的“playframework-3.0.1”目录下,可能包含了以下内容: - **源代码**:提供了Play Framework 3.0.1的完整源码,供开发者学习和二次开发。 - **文档**:可能包括开发者指南、API参考、教程等,帮助...
PlayFramework是一个广受欢迎的开源Java Web开发框架,它以其简洁、高效的特性深受开发者喜爱。该框架采用模型-视图-控制器(MVC)架构模式,旨在简化Web应用程序的开发过程,提高开发效率,并且支持敏捷开发。在...
5. **模块化设计**:Play Framework允许开发者通过插件机制扩展功能,如缓存、邮件发送等。在源码中,可以探索`play.api.Plugin`接口及其实现,理解插件的加载和生命周期管理。 6. **测试支持**:Play提供了强大的...
play framework 1.X的绝好入门学习资料,有一个简单的例子,很容易入手