纯Java框架
Play!是一个纯Java实现的Web敏捷开发框架,工程的默认目录结构如下:
构建在HTTP上
Servlet或者Struts之类的Java Web框架对HTTP API进行了抽象和封装,Play!和这些框架的根本上的不同之处就在于Play!提供了对HTTP完全的访问能力。
通过Router绑定URI到Java的方法:
GET
/
clients
/
{id} Clients.show
高效的模板引擎
我们喜欢JSP和表达式语言背后的思想,但为什么创建一个taglib需要配置这么多的文件,为什么不能提供对model的完全的访问?JSP有太多的局限性,使用起来很麻烦,那么让我们创建一个更好的模板引擎吧。
如果你想实现下面的JSP代码的功能:
<%
@ taglib uri
=
"
http://java.sun.com/jsp/jstl/core
"
prefix
=
"
c
"
%>
<%
@ taglib uri
=
"
http://java.sun.com/jsp/jstl/functions
"
prefix
=
"
fn
"
%>
<
c:choose
>
<
c:when
test
="${emails.unread != null && fn:size(emails.unread)}"
>
You've ${fn:size(emails.unread)} unread emails !
</
c:when
>
<
c:otherwise
>
You've none unread emails !
</
c:otherwise
>
</
c:choose
>
你会喜欢上下面这种写法:
You
'
ve ${email.unread?.size() ?:
'
none
'
} unread emails !
Play!使用Groovy作为模板语言,这是一种和Java语法极为相似的语言,并且可以无缝的使用Java类库,可以将其看作是动态的Java语言。
具有生产效率的Java
众所周知,由于需要编译、部署,Java平台的生产效率比ROR这类动态语言平台低很多。Play!的目标是尽可能的提高Java开发的生产效率。在开发环境下,Play!框架可自动编译和重新装载已改变的源文件。也就是说在保存源代码的改变后,就能立刻通过刷新浏览器看到结果,不需要重新编译、部署、重启服务器。
Play! 具有优秀的错误报告功能。发生异常时,该框架会直接显示出错误的源代码,甚至是模板代码。
Full-stack应用框架
Play!是一个full-stack Java Web应用框架,具有建立一个现代化网络应用所需的一切:
-
通过JBDC支持关系型数据库
-
使用Hibernate作为ORM
-
支持Memcache
-
支持JSON或者XML格式的Web服务
-
支持OpenID
-
图片处理
API
- …
Play!的插件系统可以让你重用其他系统的Java代码、模板甚至JavaScript和CSS。
----------
Play With Play!系列目录
http://www.blogjava.net/shinewang/archive/2008/12/25/248237.html