Vic*_*tin 1 grails controllers
我的控制器里有这样的东西:
class houseController = {
...
code
...
if(params.answer == null)
redirect(action:'xxx')
...
code
...
}
Run Code Online (Sandbox Code Playgroud)
我的疑问是,控制器中间的重定向.由于不在控制器的末端,它是否需要任何"返回"或类似的东西?或者,重定向完成后,之后的所有代码都被忘记了,而不是保存在内存中?我的观点,我不想用糟糕的代码浪费无用的资源.
redirect将执行之后发生的任何代码,但如果您在执行重定向后尝试写入响应,则会出现异常.
实际上,在执行之后,您通常不希望在当前操作中执行任何操作redirect,因此我将上面的代码重写为:
if (params.answer == null)
redirect(action:'xxx')
return
}
...
code
---
Run Code Online (Sandbox Code Playgroud)
或者:
if (params.answer == null)
redirect(action:'xxx')
} else {
...
code
---
}
Run Code Online (Sandbox Code Playgroud)