grails - Grails Controller 语法更正

标签 grails controllers

我的 Controller 中有以下内容:

class houseController = {

...
code
...

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

...
code
...

}

我的疑问是, Controller 中间的重定向。是否由于不在 Controller 末端而需要任何“返回”或类似的操作?或者,重定向完成后,之后的所有代码都被放弃并且不保存在内存中?我的观点是,我不想浪费无用的资源来编写错误的代码。

最佳答案

redirect之后出现的任何代码都将被执行,但是如果您在执行重定向后尝试写入响应,则会出现异常。

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

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

...
code
---

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

} else {
  ...
  code
  ---
}

关于grails - Grails Controller 语法更正,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6177731/

相关文章:

c# - 如何(自动)为 MVC + 实体生成 web api Controller 或遗传查询所有类型

grails - 如何在 Groovy/Grails InvokeHelper.invokeMethod() 上设置参数

grails - Grails-@Transactional注释,用于生成简单的Controller

hibernate - 如何在 Grails 中持久保存枚举集合?

ruby-on-rails - 无需通过路由即可测试 Controller

ruby-on-rails - 插入或更新操作后在 Rails Controller 中捕获 postgres 触发器

java - Grails 框架方法 addTo 在多次调用时抛出异常

grails - Grails应用程序随机挂起

c# - 将 Controller 拆分为 2 个独立的 DLL

ruby-on-rails - ruby on rails 中的 Controller 和 Action 有什么区别?