如何影响播放控制器中的重定向行为?

时间:2010-10-10 08:57:59

标签: playframework playframework-1.x

在游戏中,如果您使用控制器的公共方法进行呼叫,则始终遵循Redirect-After-Post-Pattern。在大多数情况下,这是一种很好的行为,但有时它可能是令人讨厌的。 所以我试着找出它在Play 1.1中是如何工作的! 基本是一些字节码增强,在play.classloading.enhancers.ControllersEnhancer中完成。 在那里你可以发现仍然存在一些默认行为的例外:

  1. 如果您的方法由包play.mvc中的注释注释,例如注释前。
  2. 您使用ByPass - 注释注释您的操作,此注释必须是内部类,因此名称ends $ByPass
  3. 如果您始终要禁止重定向,则两种解决方案都可以。但是如果你只想在特殊情况下这样做呢? 然后你可以拨打ControllerInstrumentation.initActionCall()

    我没有找到关于它的描述,我只是分析代码。那么我的结论是正确的还是有任何缺点?

1 个答案:

答案 0 :(得分:2)

据我所知,你的假设是正确的。

那就是说,根据我的理解,你想要一个在执行后结束并且什么都不返回的方法?不要在最后添加任何“render”调用(或任何对另一个方法的调用),这应该有效。我用它来做cron工作。