Grails控制器语法修正

时间:2011-05-30 14:48:14

标签: grails controllers

我的控制器里有这样的东西:

class houseController = {

...
code
...

if(params.answer == null)
redirect(action:'xxx')

...
code
...

}

我的疑问是,控制器中间的重定向。由于不在控制器的末端,它是否需要任何“返回”或类似的东西?或者,重定向完成后,之后的所有代码都被忘记了,而不是保存在内存中?我的观点是,我不想用糟糕的代码浪费无用的资源。

1 个答案:

答案 0 :(得分:5)

执行redirect后发生的任何代码,但如果您在执行重定向后尝试写入响应,则会收到异常。

实际上,在执行redirect之后,您通常不想在当前操作中执行任何操作,因此我会将上面的代码重写为:

if (params.answer == null)
  redirect(action:'xxx')
  return
}

...
code
---

或者:

if (params.answer == null)
  redirect(action:'xxx')

} else {
  ...
  code
  ---
}