大东哥已经翻译了面向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技术为主的大型交流群,欢迎各种猴子占领本群。