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

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

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

【问题讨论】:

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

标签: grails groovy


【解决方案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后面的代码不返回就会被执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 2010-11-30
    相关资源
    最近更新 更多