【发布时间】:2012-02-17 16:07:39
【问题描述】:
我正在实施一个带有 play 1.2.4 的项目,根据文档处理验证的正确方法是:
public static void signUp() {
render();
}
public static void doSignUp(@Required @Valid User user) {
if (validation.hasErrors()) {
params.flash();
validation.keep();
signUp();
}
user.create();
Application.index();
}
但根据 play 提供的示例,似乎使用了不同的方法:
public static void signUp() {
render();
}
public static void doSignUp(@Required @Valid User user) {
if (validation.hasErrors()) {
render("@signUp");
}
user.create();
Application.index();
}
对于这个小例子来说,代码差异很小,但在更复杂的例子中就没有那么简单了。
我看到的优点和缺点是: 第一种方法:
为用户提供漂亮的 URL
POST后总是重定向,所以如果用户刷新页面就不会出现确认问题
只有一种方法负责在调用之前填充 renderArgs 模板
编译时验证signUp方法在重命名后退出
第二种方法:
- 更快,浏览器中没有重定向/往返
那么最佳做法是什么?在应用程序中使用哪种方法?
【问题讨论】:
标签: java playframework