当我在一个动作中调用其他动作时,它也会显示自己的模板,在 Play 1.1 RC 中,当我Redirect("...url")
但它不起作用时,有没有人可以帮助我?
问问题
19451 次
4 回答
12
只是为了添加到上面的答案,这里是您重定向到外部 url 的方式:
公共静态无效索引(){重定向(“http://geeks.aretotally.in”);}
于 2011-05-23T01:21:23.197 回答
6
由于这些答案都没有提供通用/可重用的方法来执行此操作,因此这是我的代码。这允许您在conf/routes
文件中创建任意数量的重定向,而无需为每个重定向创建控制器。
是的,这是微不足道的,但也许它对某人有用。
配置/路由:
GET /admin Application.redirect(url:'/admin/index.html')
应用程序/控制器/Application.java:
public class Application extends Controller {
public static void redirect(String url) {
redirect(url, true);
}
}
于 2013-07-17T16:18:48.430 回答
6
要重定向,您只需调用操作。从文档中的示例:
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);
}
在编辑操作结束时,对 show(...) 的调用将导致客户端浏览器上的重定向,就好像他们点击了路由到 show 方法的相同 URL。
于 2011-04-30T00:09:22.497 回答
3
在播放框架中,当您调用一个动作时,默认情况下它会呈现与该动作关联的模板。
例如,一个名为 Application 的控制器
public static void index()
将渲染
app/views/Application/index.html
为了让它渲染一个不同的视图,那么你可以在 render 方法中将模板指定为第一个参数。
所以,
renderTemplate("Application/myOtherTemplate.html");
仅当您要重定向到应用程序之外的 URL 时,才应真正使用重定向。
于 2010-11-26T10:35:41.677 回答