我需要在 Grails 中返回“渲染”吗?

Posted

技术标签:

【中文标题】我需要在 Grails 中返回“渲染”吗?【英文标题】:Do I need to return "render" in Grails? 【发布时间】:2012-02-01 15:18:41 【问题描述】:

有必要退货吗?假设它在一个动作的中间。

render(contentType:'text/json', text: ['success': true] as JSON)    
return

【问题讨论】:

@Don - 我的编辑和你的编辑有什么区别? 在功能上,它们可能是相同的,但我认为现在阅读起来要容易得多。如果您不同意,请随时恢复我的更改 【参考方案1】:

如果你不返回,render之后的任何代码也会被执行,这往往不是你想要的,例如

def someAction = 

  if (someCondition) 
    render view: 'success'
    // if we don't return execution would fall through to the code below
    return  
  

  log.error 'something went wrong'
  render view: 'error'

当然,如果你改用这个样式,就不用返回了

def someAction = 

  if (someCondition) 
    render view: 'success'

   else     
    log.error 'something went wrong'
    render view: 'error'
  

如果一个动作只有一个退出点,那么render之后就不需要返回了

def someAction = 
    render view: 'success'

只要记住render后面的代码不返回就会被执行。

【讨论】:

以上是关于我需要在 Grails 中返回“渲染”吗?的主要内容,如果未能解决你的问题,请参考以下文章

GORM数据服务VS Grails服务

关于grails连接数据库

Grails 中的自定义验证器中的异常

Grails 渲染插件的空指针异常

GSP 渲染很慢

我可以在返回消息条目字符串和参数之前获取 Grails 消息字符串吗?